我正在使用 Django 开发一个字典应用程序。我在使用 Django 类成功创建表单时遇到问题,该类允许用户向现有和ModelForm新词典词条提交新定义。
我的模型.py:
class Headword(models.Model):
headword = models.CharField(max_length=64, unique=True)
class Definition(models.Model):
definition = models.CharField(max_length=64)
headword = models.ForeignKey(Headword, related_name="definitions_headword")
我的forms.py:
class DefinitionForm(forms.ModelForm):
class Meta:
model = Definition
fields = ["headword", "definition"]
我的 HTML 表单:
<form action="{% url 'dictionary:define' %}" method="post">
{% csrf_token %}
{{ form }}
<button type="submit">Define</button>
</form>
所有的结果是一个表格:
包含数据库中已有的所有词条的下拉菜单,
定义的文本输入字段,
提交按钮。
因此,使用上述代码,仅允许用户向已存在的词条添加定义。
正如我所说,我想改变这一点并采用这种形式,以便用户能够向现有词条(下拉菜单中的词条)和新词条(用户只需输入的词条)提交定义。这意味着我根本不需要表单中的下拉菜单,而只需要两个不受约束的文本输入字段和一个提交按钮。
我怎样才能做到这一点?
widgets
PS:我尝试使用类中的字典将下拉菜单覆盖为文本输入字段DefinitionForm
。然而,当我尝试提交表单时,这会导致标题表单字段上方出现一条错误消息:
选择一个有效的选择。该选择不是可用的选择之一。
慕码人8056858
相关分类