首先,我建议您,因为@ ChrisHuang-Leaver建议您在此处定义一个具有所需所有选择的新文件,例如choices.py
:
STATUS_CHOICES = (
(1, _("Not relevant")),
(2, _("Review")),
(3, _("Maybe relevant")),
(4, _("Relevant")),
(5, _("Leading candidate"))
)
RELEVANCE_CHOICES = (
(1, _("Unread")),
(2, _("Read"))
)
现在您需要将它们导入模型中,因此代码很容易理解,就像这样( ):
from myApp.choices import *
class Profile(models.Model):
user = models.OneToOneField(User)
status = models.IntegerField(choices=STATUS_CHOICES, default=1)
relevance = models.IntegerField(choices=RELEVANCE_CHOICES, default=1)
你 在 :
forms.py:
from myApp.choices import *
class CViewerForm(forms.Form):
status = forms.ChoiceField(choices = STATUS_CHOICES, label="", initial='', widget=forms.Select(), required=True)
relevance = forms.ChoiceField(choices = RELEVANCE_CHOICES, required=True)
无论如何,您的模板都有问题,因为您没有使用any {{form.field}}
,因此生成了一个表,但是仅隐藏字段没有输入。
当用户为职员时,应生成尽可能多的输入字段,只要您可以管理。我认为django形式并不是您所处情况的最佳解决方案。
我认为使用html表单会更好,因此可以使用boucle生成尽可能多的输入:{% for user in users_list %}
并且生成具有与用户相关的ID的输入,并且可以在视图中管理所有这些输入。