Bud*_*wan 5 python django django-models django-forms
models.py
class User(models.Model):
id = models.CharField(max_length=255)
name = models.CharField(max_length=255)
desc = models.TextField()
created_at = models.DateTimeField(auto_now=True)
updated_at = models.DateTimeField(auto_now_add=True, null=True)
def __str__(self):
return self.user.name
Run Code Online (Sandbox Code Playgroud)
我的forms.py
class PostsForm(forms.ModelForm):
user = forms.ModelMultipleChoiceField(
queryset=User.objects.all()
)
class Meta:
model = Posts
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
在我的表单上面我的代码看起来像这样:
+------------+
|Select + |
+------------+
|John Doe |
|Jessica |
|Jessica |
|Alex Joe |
+------------+
Run Code Online (Sandbox Code Playgroud)
Hovewer不是我想要的,因为可能有多个名字,我知道这个价值来自def __str__于我的模型.
如何在我的领域添加另一个str将是:
+---------------------+
|Select + |
+---------------------+
| 012931 - John Doe |
| 012932 - Jessica |
| 012933 - Jessica |
| 012934 - Alex Joe |
+---------------------+
Run Code Online (Sandbox Code Playgroud)
它包含下拉列表中的id +名称,或其他信息.
在User模型中,__str__您可以按照doc中的说明进行操作。
def __str__(self):
return "{} - {}".format(self.id, self.user.name)
Run Code Online (Sandbox Code Playgroud)
这是 的一个示例self.id,您可以在那里获取任何值,例如self.name等。
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |