我已经尝试了几乎所有我能找到的关于这个问题的方法,但我很确定我离解决我的问题只有一个小建议。
我正在尝试保存到同时使用 Django 的 forms 方法生成的表单。这些表单具有 ForeignKey 关系。
我的模型:
class Publisher(models.Model):
company = models.CharField(max_length=255)
address1 = models.CharField(max_length=255)
address2 = models.CharField(max_length=255)
city = models.CharField(max_length=255)
zipcode = models.CharField(max_length=10)
email = models.EmailField(max_length=255)
firstname = models.CharField(max_length=255)
lastname = models.CharField(max_length=255)
tc = models.BooleanField()
timestamp = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.company
class PublisherQuestions(models.Model):
referal = models.TextField()
updates = models.BooleanField()
publisher = models.ForeignKey(Publisher)
preferredCommunication = models.ForeignKey(PublisherCommunication)
def __unicode__(self):
return self.publisher
class PublisherForm(ModelForm):
class Meta:
model = Publisher
class PublisherQuestionsForm(ModelForm):
class Meta:
model = PublisherQuestions
exclude = ('publisher')
和我的观点:
def register(request):
if request.method == 'POST':
form = PublisherForm(data = request.POST)
formQuestions = PublisherQuestionsForm(data = request.POST)
if form.is_valid() and formQuestions.is_valid():
publisher = form.save()
formQuestions.publisher = publisher
formQuestions.save()
return HttpResponseRedirect('/thanks/')
所以,我尝试做的是将第二个表单“formQuestions”与外键发布者一起保存在 PublisherForm 中的 publisher_id 上。
不幸的是 MySQL / Django 给了我以下错误。
Column 'publisher_id' cannot be null
这可能是一个完整的新手问题,是的,有很多人问的几乎一样,但没有一个解决方案对我有用。
感谢您的帮助,一如既往的感谢!