2016-08-15 2 views
-1

모델을 사용자 데이터베이스에 바인딩하기로 결정했을 때 문제가 발생했습니다. 내 모델에 문제가있는 것 같아. 어떤 도움이라도 대단히 감사 할 것입니다. 내가 요소를 만들려고 할 때무결성 오류, 요소를 추가 할 수 없습니다.

models.py는이 메시지가 나타납니다

class Word(models.Model): 
    name=models.CharField(max_length=100,unique=True) 
    translation=models.CharField(max_length=255) 
    created_at=models.DateTimeField(auto_now_add=True) 
    times_used=models.IntegerField(default=0,editable=False) 
    user=models.ForeignKey(User,related_name='created_by',null=False) 

:

IntegrityError at /words/ 
NOT NULL constraint failed: words_word.user_id 

views.py :

class Create_Word(generic.CreateView): 
    model=Word 
    fields=['name','translation',] 
    template_name = "words/list_all.html" 
+0

Word를 만드는 코드를 보여줍니다. –

+0

@ SergeyGornostaev 그것은 일반적인보기 일뿐입니다. 설명에 추가했습니다 – Igor

+0

템플릿을 확인하십시오. for 문이 있어야합니다. {단어의 단어} ...} – NeoVe

답변

1

명시 적으로 전류를 지정해야합니다 사용자를 입력란으로 지정하면 ForeignKeyauto_now_add과 같은 내용은 없습니다.

class CreateWord(CreateView): 
    model = Word 
    fields=['name','translation',] 
    template_name = "words/list_all.html" 

    def form_valid(self, form): 
     word = form.save(commit=False) 
     word.user = self.request.user 
     return super(CreateWord, self).form_valid(form) 
+0

작동합니다! 많은 도움을 받음 – Igor

+0

그런 다음 대답을 수락하십시오. –

관련 문제