models.py
class PostsForm(forms.ModelForm):
user = forms.ModelMultipleChoiceField(
queryset=User.objects.all()
)
class Meta:
model = Posts
fields = '__all__'
my forms.py
+------------+
|Select + |
+------------+
|John Doe |
|Jessica |
|Jessica |
|Alex Joe |
+------------+
在我的表单上方的代码看起来像这样:
def __str__
Hovewer不是我想要的,因为可能有多个名字,而且我知道这个价值来自+---------------------+
|Select + |
+---------------------+
| 012931 - John Doe |
| 012932 - Jessica |
| 012933 - Jessica |
| 012934 - Alex Joe |
+---------------------+
我的模特。
如何在我的字段中添加另一个 str ,将是:
{{1}}
在下拉列表中包含 id + name ,或其他信息。
答案 0 :(得分:2)
在User
上的__str__
模型中,您可以按照doc中的说明进行操作。
def __str__(self):
return "{} - {}".format(self.id, self.user.name)
以下是self.id
的示例,您可以获得self.name
等任何值。
答案 1 :(得分:0)
在User
课程中,您应该添加以下方法:
def __unicode__(self):
return "{} - {}".format(self.id, self.name)
def __str__(self):
return "{} - {}".format(self.id, self.name)
注意:如果使用__unicode__()
,则无需Python3.x
。