您好我想对models.py进行更改。
我有两张桌子。客户和注释。我想要做的是在clients表中有一个note字段,它与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)
答案 0 :(得分:1)
我不太明白这个问题,但我想你需要OneToOneField
答案 1 :(得分:0)
贾斯汀娜是对的。您应该在客户端模型中添加一个注释字段,这会使您的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