0
여기에 문제가 있습니다. 질문하지 않고 저장하지 않고이 오류가 팝업됩니다. "Django : IntegrityError : user_id 열이 고유하지 않습니다." 문제가 뭔지 말해봐. 여기user_id 열의 문제가 고유하지 않습니다.
내 models.py
class Question(models.Model):
title = models.CharField(max_length=120)
content = models.TextField()
pub_date = models.DateTimeField(blank=True, null=False, auto_now_add=True)
views = models.IntegerField(default=0)
slug = models.SlugField(max_length=240, blank=True)
tag = TaggableManager()
user = models.OneToOneField(User, unique=True)
def __unicode__(self):
return self.title
def save(self, **kwargs):
if not self.pk:
self.date_added = date.today()
if self.title and not self.slug:
self.slug = slugify(self.title)
super(Question, self).save(**kwargs)
views.py
def ask(request):
if request.method == 'POST':
form = AskForm(request.POST)
if form.is_valid():
question = form.save(commit=False)
question.user = request.user
question.save()
form.save_m2m()
return redirect('/question/one_question/' + str(question.id))
return HttpResponseBadRequest()
역 추적
당신은 @DanielRoseman 당신이해야 말한대로, 당신의 질문 모델을 변경해야Exception Type: IntegrityError at /question/ask/
Exception Value: column user_id is not unique
왜이 당신에게 놀라운 : 많은 답변이 많은 사용자와 관련이있을 수있는 경우에, 여기 opiated? OneToOneField에는 질문에서 사용자까지가 있으므로 각 사용자는 * 하나 * 질문 만 허용됩니다. 더 이상 추가하면 표시되는 오류가 발생합니다. –
모델을 설정 한 방식에 따라 사용자는 한 가지 질문 만 할 수 있습니다. 따라서 첫 번째 질문을 한 후에는 해당 사용자에게 더 이상 '질문'을 추가 할 수 없습니다. 이게 너가하고 싶은거야? –