向django表单添加外键下拉菜单
我有一个联系人信息模型/表单,我想在其中添加一个contacttype外键,该外键应显示在下拉菜单中:向django表单添加外键下拉菜单,django,Django,我有一个联系人信息模型/表单,我想在其中添加一个contacttype外键,该外键应显示在下拉菜单中: models.py class ContactType(models.Model): contact_type = models.CharField(max_length=50) class Contact(models.Model): contact_name = models.CharField(max_length=200) contact_email = m
models.py
class ContactType(models.Model):
contact_type = models.CharField(max_length=50)
class Contact(models.Model):
contact_name = models.CharField(max_length=200)
contact_email = models.CharField(max_length=200, validators=[validators.validate_email])
contact_type = models.ForeignKey(ContactType, default='General Enquiry')
forms.py
class ContactForm(forms.ModelForm):
# contact_type = forms.ModelChoiceField(queryset=ContactType.objects.all())
class Meta:
model = Contact
fields = ['contact_name', 'contact_email']
如果将contact_type变量保留在原来的位置,则会出现以下错误:
no such table: contact_contacttype
这是我最后一次迁移:
dependencies = [
('contact', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='ContactType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('contact_type', models.CharField(max_length=50)),
],
),
migrations.AddField(
model_name='contact',
name='contact_type',
field=models.ForeignKey(default='General Enquiry', on_delete=django.db.models.deletion.CASCADE, to='contact.ContactType'),
),
]
然而,如果我将其移动到元类中(我应该吗?),则没有任何内容呈现到模板中
所以我的问题是,外键是合适的关系吗?如果是这样,我应该如何将ModelChoiceField添加到ContactForm中这似乎与表单没有任何关系;您是否真的通过进行和运行迁移创建了该表?据我所知,我在问题中添加了最新的迁移文件,感谢您运行
python manage.py migrate
?这似乎与表单无关;您是否真的通过进行和运行迁移创建了该表?据我所知,我在问题中添加了最新的迁移文件,谢谢您运行python manage.py migrate
?