2017-11-04 5 views
0

사용자 외래 키를 models.py에서 UserProfile이라는 다른 테이블로 생성하려고합니다. 작업을 사용자에게 연결하여 쿼리하고 프로필 페이지에 표시 할 때 다른 사용자가 표시되지 않도록하고 싶습니다. 내가 이것을 시도 할 때 그러나,이 오류가있어 : 이것은이 내 useraccounts.models.py입니다Django에서 한 앱에서 다른 앱으로 외래 키 만들기

from django.db import models 
from django.contrib.auth.models import User 
from useraccounts.models import UserProfile 

class Task(models.Model): 
    task_name = models.CharField(max_length=140, unique=True) 
    owner = models.ForeignKey('user') 
    description = models.CharField(max_length=140) 
    create_date = models.DateField() 
    completed = models.BooleanField() 
    private = models.BooleanField() 

    def __unicode__(self): # Tell it to return as a unicode string (The name of the to-do item) rather than just Object. 
     return self.name 

내 tasks.model.py이

enter image description here

입니다

class UserProfile(models.Model): 
    user = models.OneToOneField(User, on_delete=models.CASCADE, default='') 
    username = models.CharField(max_length=14, default='') 
    birth_date = models.DateField(null=True, default = '2000-01-01', blank=True) 
    email = models.EmailField(null=True, default='') 
+0

스크린 샷을 게시하지 마십시오. 코드 예제를 적어 둡니다. 결국 그것은 몇 라인 이상입니다. – cezar

+0

코드를 추가했습니다. – TheCoxer

+0

오류 부분도 확인하십시오. – cezar

답변

1

클래스 Task에서 다음과 같이 외래 키를 정의하십시오.

owner = models.ForeignKey('user') 

같은 앱에 user이라는 클래스가 필요합니다. 그리고 당신은 그것을 가지고 있지 않습니다.
다른 앱에서 모델에 대한 관계를 작성하려면 app_label.Model 패턴을 사용해야합니다. 귀하의 경우 다음과 같이 표시되어야합니다.

owner = models.ForeignKey('useraccounts.UserProfile')