【发布时间】:2015-09-23 15:54:19
【问题描述】:
我正在尝试创建我的第一个项目。就像 Stack Overflow 关于特定主题的问题和答案。我通过 AbstractBaseUser 创建自己的用户。现在我想创建问答模型。
我的模特:
class Question(models.Model):
text = models.TextField()
title = models.CharField(max_length=200)
date = models.DateTimeField(default=datetime.datetime.now)
author = models.ForeignKey(CustomUser)
def __str__(self):
return self.title
类答案(models.Model):
text = models.TextField()
date = models.DateTimeField(default=datetime.datetime.now)
likes = models.IntegerField(default=0)
author = models.ForeignKey(CustomUser)
question = models.ForeignKey(Question)
类标签(models.Model):
TYPE_OF_TAGS = (
('First tag', 'First'),
('Second tag', 'Second'),
('Third tag', 'Third'),
)
type_of_tag = models.CharField(max_length=12, choices=TYPE_OF_TAGS, blank=True)
question = models.ManyToManyField(Question)
我的观点:
def question(request):
args = {}
args.update(csrf(request))
args['form'] = QuestionForm()
args['profile'] = CustomUser.objects.filter(pk = request.user.pk)
args['author'] = Question()
if request.POST:
args['form'] = QuestionForm(request.POST)
obj = args['form'].save(commit=False)
obj.save()
args['author'].author = args['profile']
args['author'].save()
return redirect(reverse(question))
return render(request, 'questions.html', args)
我为答案创建了第一个视图,发送表单时出现错误:
“author_id”列中的空值违反非空约束
我想我走错了方向。我有不好的模型和不好的观点。为什么我有这个错误,我的模型有什么问题?
【问题讨论】:
-
在创建问题之前,您需要创建作者并关联到表单问题。