你好,我想改变一下我的models.py。
我有两张桌子。客户和备注。我想要做的是在客户端表中有一个便笺字段,它应该与note表有某种一-一的关系。
然而,该便条将不得不存储一些用户,客户端和日期时间。所以我需要另一张桌子来做这个。但我想和客户建立一种关系。
客户端应该只能存储在一张便条中。便笺有一个用户、日期时间、一个便笺文本字段和一个客户端(如果我在客户端的表中有一个便笺字段,我想我不需要这个条目)。
models.py
class Client(models.Model):
name = models.CharField(max_length = 40)
telephone = models.CharField(max_length = 20)
website = models.URLField(verify_exists = False)
fax = models.CharField(max_length = 20)
email = models.EmailField()
is_active = models.BooleanField()
def __unicode__(self):
return self.name
class Note(models.Model):
client = models.ForeignKey(Client)
datetime = models.DateTimeField(default=datetime.now)
user = models.ForeignKey(User)
note = models.TextField()
def __unicode__(self):
return unicode(self.user)发布于 2011-06-29 09:57:56
朱斯蒂纳斯是对的。您应该在客户端模型中添加一个note字段,这会使Note模型上的FK过时。像这样的事情应该会让你开始:
class Note(models.Model):
datetime = models.DateTimeField(default=datetime.now)
user = models.ForeignKey(User)
note = models.TextField()
def __unicode__(self):
return unicode(self.user)
class Client(models.Model):
name = models.CharField(max_length = 40)
telephone = models.CharField(max_length = 20)
website = models.URLField(verify_exists = False)
fax = models.CharField(max_length = 20)
email = models.EmailField()
is_active = models.BooleanField()
note = models.OneToOneField(Note)
def __unicode__(self):
return self.name发布于 2011-06-29 09:49:16
我不太明白这个问题,但我想你需要OneToOneField
https://stackoverflow.com/questions/6518647
复制相似问题