0
我有一個模型:的Django的ModelForm - 形式顯示值
class SchedulerProfile(models.Model):
user = models.ForeignKey(User, unique=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def __unicode__(self):
return u'%s' % (self.user)
我也有具有與調度一個M2M關係的模型:當我創建從OfficialProfile一個的ModelForm
class OfficialProfile(models.Model):
user = models.ForeignKey(User, unique=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
schedulers = models.ManyToManyField(SchedulerProfile, verbose_name="Your schedulers", related_name="off_schedulers")
,表單會將調度程序的內容多重選擇爲用戶名。我想讓它在現場顯示user.first_name user.last_name
而不是用戶。我知道我可以改變unicode的返回值來完成這個任務,但我寧願不這樣做。在的ModelForm的__init__
,你應該能夠做這樣的事情:
self.fields['schedulers'].queryset = SchedulerProfile.objects.values('user__first_name', 'user__last_name')
但是,這並不產生預期的結果。這似乎是一個非常基本的問題,但尋找答案並沒有透露太多。