有一个带有“类别”字段的 Post 模型。模型中有几个对象,该字段的值不同('url'、'file'、'video')。通过表单创建对象时,如何为该字段创建一个下拉列表,以便您可以从现有值中选择一个值(消除重复),或者输入一个新值?我尝试通过
category = forms.ModelChoiceField(Post.objects.values('category'))
但在下拉列表中,所有内容都以字典的形式出现:
{'category':'url'}
{'category':'file'}
{'category':'video'}
实际上,您需要摆脱键,只留下值。好吧,另外,您需要添加输入/创建新类别的功能,而不仅仅是选择现有类别。
你可以像这样得到一个唯一值的列表:
但是,如果您需要能够编辑这些类别,那么最好制作一个单独的模型
Category
并将其绑定Post
为 ForeignKey