我用模型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(),
}