我用模型Page
和Mark
.
Mark
还有一个ModelForm
类MarkForm
,我告诉过它要将它的所有属性显示为小部件,除了ForeignKey
,它是editable=False
. Page
和Mark
- one Page
, many之间存在一对多的关系Marks
。
但是,当我尝试提交MarkForm
时,它会提示该ForeignKey
字段不能为空 - 有没有办法自动告诉表单(在服务器端),这样就不会在 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(),
}