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',),can_delete=True)
麦芽汁(部分地)...
在创建新客户端时,它会将表单识别为AddSubscriptionData
对象并保存,但是由于某些未知原因,它将字段id
(自动生成并且应该自动递增)保留为没有。
当我尝试编辑此表单并且Django对我大吼大叫时,就会出现此问题:
[{'id': ['This field is required.']}]
为什么会这样? 那是Django错误还是我犯了一些错误?