【发布时间】:2012-07-19 15:01:49
【问题描述】:
我用Page 和Mark 模型构建了一个小应用程序。
Mark 也有一个ModelForm 类MarkForm,我告诉过它要将其所有属性显示为小部件,除了ForeignKey,它是editable=False。 Page 和 Mark 之间存在一对多的关系 - 一个 Page,许多 Marks。
但是,当我尝试提交 MarkForm 时,它会提醒 ForeignKey 字段不能为空 - 有没有办法自动告诉表单(在服务器端),这样就不会了t 是 html 中的表单输出(我不希望用户能够摆弄并将marks 添加到其他Pages)。
如果我遗漏了什么,请告诉我,也许我在模型或视图中做错了什么。这是一些代码:
class Mark(models.Model):
page = models.ForeignKey(Page, editable=False)
x = models.IntegerField()
y = models.IntegerField()
width = models.IntegerField()
height = models.IntegerField()
body = models.CharField(max_length=200)
class MarkForm(forms.ModelForm):
class Meta:
model = Mark
widgets = {
'x': HiddenInput(),
'y': HiddenInput(),
'width': HiddenInput(),
'height': HiddenInput(),
'body': HiddenInput(),
}
【问题讨论】:
标签: django foreign-keys modelform