【发布时间】:2013-03-11 21:23:49
【问题描述】:
我有以下型号:
class UserProfile(models.Model):
name = models.CharField()
info = models.OneToOneField(UserInfo, related_name='user')
class UserInfo(models.Model):
def __unicode__(self):
return self.user.__unicode__() + self.age
age = models.IntegerField()
class Ticket(models.Model):
userinfo = models.ForeignKey(UserInfo)
问题现在出现在票务管理界面中。 Ticket 的 userinfo 字段呈现为下拉菜单。如果数据库中有很多 UserInfo,每个人都会对数据库(UserProfile)进行一次调用以生成其名称。
如何告诉管理员(或任何小部件)在呈现 UserInfo 下拉菜单时预取相关的 UserProfile?
我正在寻找类似的东西
info = models.OneToOneField(UserInfo, related_name='user', prefetch_in_bulk=True)
【问题讨论】:
-
使用
return unicode("{} + {}".format(self.user,self.age))而不是你现在拥有的(__unicode__应该返回 unicode,而不是字符串)。
标签: django django-forms django-admin