ModelMultipleChoiceField上的Django Multi值

时间:2018-06-09 06:25:24

标签: python django django-models django-forms

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 ,或其他信息。

2 个答案:

答案 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