Ras*_*iel 6 django django-admin
http://docs.djangoproject.com/en/dev/ref/models/fields/#choices
我已经阅读了文档,这意味着使用数据库表来获取动态数据,但是它说明了这一点
选择适用于静态数据,如果有的话,变化不大.
所以,如果我想使用选择,但让它选择多个,因为我使用的数据是非常静态的,例如一周中的几天.
无论如何要在没有数据库表的情况下实现这一点?
ChoiceField并不适合多种选择,而是使用ManyToManyField.忽略现在可以使用Choices而不是ForeignKey来获取静态数据的事实.如果结果是一个性能问题,有一些方法可以用不同的方式表示(一种是二元掩码方法),但它们需要更多的工作.
小智 5
这对我有用:
1) 创建一个 Form 类并设置一个属性以向 MultipleChoiceField 提供静态选择
Run Code Online (Sandbox Code Playgroud)from django import forms from myapp.models import MyModel, MYCHOICES class MyForm(forms.ModelForm): myfield = forms.MultipleChoiceField(choices=MYCHOICES, widget=forms.SelectMultiple) class Meta: model = MyModel
2)然后,如果您使用的是管理界面,请在管理类中设置表单属性,以便tit将使用您的自定义表单
Run Code Online (Sandbox Code Playgroud)from myapp.models import MyModel from myapp.forms import MyForm from django.contrib import admin class MyAdmin(admin.ModelAdmin): form = MyForm admin.site.register(MyModel, MyAdmin)