0
我form.py
初始化ModelChoiceField表格
class BannerForm(forms.ModelForm):
name = forms.CharField(max_length=32)
affiliation = forms.ModelChoiceField(Affiliation.objects.all(), disabled = True, initial='Red')
我model.py
class Affiliation (models.Model):
name = models.CharField(max_length=32, unique=True)
def __str__(self):
return self.name
class Banner(models.Model):
name = models.CharField(max_length=32, unique=True)
affiliation = models.ForeignKey(Affiliation)
我populate
脚本(运行在开始填充数据库)
def populate():
red = add_affiliation('Red')
black = add_affiliation('Black')
当我填写表格创建一个横幅它不起作用,它不会看到红色(或ED)像一个有效的选择:
<ul class="errorlist"><li>affiliation<ul class="errorlist"><li>Select a valid choice. That choice is not one of the available choices.</li></ul></li></ul>
我改变了我的form.py
:
class BannerForm(forms.ModelForm):
name = forms.CharField(max_length=32)
affiliation = forms.ModelChoiceField(Affiliation.objects.all(), disabled = True, initial=Affiliation.objects.get(id=1))
并给出了同样的错误。我又改:
class BannerForm(forms.ModelForm):
name = forms.CharField(max_length=32)
affiliation = forms.ModelChoiceField(Affiliation.objects.all(), widget=forms.HiddenInput(), initial=Affiliation.objects.get(id=1))
它的工作,但只有当我改变代码时已存在于数据库,因为如果不是我第一次迁移给出一个错误:
django.db.utils.OperationalError: no such table: core_affiliation
我该如何解决?如果可能的话,我宁愿不使用HiddenInput,也不要硬编码该ID。
谢谢
也许你需要更多的信息? – fabio