Django应该自动增加字段ID(并自动创建)。
我创建了一个模型:
class SubscribtionData(models.Model):
client = models.ForeignKey(Client, on_delete=models.DO_NOTHING, null=True)
more_to_sheep = models.PositiveIntegerField(blank=True)
shipping_comments = models.TextField(blank=True)
history = HistoricalRecords()
是这样的:
class AddSubscriptionData(forms.ModelForm):
class Meta:
model = SubscribtionData
fields = ('more_to_sheep', 'shipping_comments',)
widgets = {
'more_to_sheep': forms.NumberInput(attrs={'class':'form-control', 'placeholder': 'How Manny Need To Be Sheeped'}),
'shipping_comments': forms.Textarea(attrs={'class':'form-control', 'placeholder': 'Commant For Sheepment'}),
}
我有一些非常有线的问题...
我在同一页面上有多个表单和表单集,因此我必须在每个表单上使用前缀。
当我直接使用AddSubscriptionData
时,我什么也不能提交(将AddSubscriptionData
识别为Client
(即使前缀是不同的),并且因为它们具有不同的字段,所以.save()
返回None ...
仅当我将此表单用作这样的表单集时:
FormsetAddSubscriptionData = inlineformset_factory(Client, SubscribtionData,form=AddSubscriptionData, extra=1, max_num=1, fields=('more_to_sheep', 'shipping_comments',), can_delete=True)
麦芽汁(部分地)...
在创建新客户端时,它会将表单识别为AddSubscriptionData
对象并保存,但是由于某些未知原因,它将字段id
(自动生成并且应该自动递增)保留为没有。
当我尝试编辑此表单并且Django对我大吼大叫时,就会出现此问题:
[{'id': ['This field is required.']}]
为什么会这样? 那是Django错误还是我犯了一些错误?