【发布时间】:2009-12-29 14:27:15
【问题描述】:
我以这种方式声明了我的两个模型:
class EmailAddress(models.Model):
customer = models.ForeignKey(Customer)
email_address = models.CharField(max_length=200)
def __unicode__(self):
return self.email_address
class Customer(models.Model):
.
.
.
email_address = models.ForeignKey(EmailAddress)
def __unicode__(self):
name = ''+str(self.title)+" "+str(self.first_name)+" "+str(self.last_name)
return name
这个想法是一个客户可以有多个与他/她相关联的电子邮件地址......问题是如何正确地做到这一点......从我上面的代码中可以看出,客户外键字段必须是在客户类之后,但电子邮件地址外键字段必须在 EmailAddress 类之后...我该如何解决这个问题?
【问题讨论】:
-
与您的问题无关,但您的 unicode 方法存在严重错误 - 它不返回 unicode。如果您的任何客户的标题或名称中有非 ASCII 字符,Python 将严重崩溃。改为这样做:
name = u'%s %s %s' % (self.title, self.first_name, self.last_name)
标签: django django-models