2013-07-15 5 views
3

그래서 장고를 사용하여 프로젝트를 개발 중이며 사용자 및 국가와 같은 일부 모델간에 여러 관계를 만들려고합니다. syncdb하려고 할 때 내 콘솔 출력 "이름 국가 정의되지 않았습니다." 코드를 확인하십시오 :Django는 내 모델이 정의되지 않았다고 말합니다

class User(models.Model): 
name = models.CharField(max_length=50,null=False) 
email = models.EmailField(max_length=50,null=False) 
password = models.CharField(max_length=10,null=False) 
country = models.ForeignKey(Country,null=False) #error here 
rol = models.ForeignKey(Rol,null=False) 
job = models.ManyToManyField(Job) #UserxJob 
skill = models.ManyToManyField(Skill) #UserxSkill 
plan = models.ManyToManyField(Plan) #UserxPlan 
image = models.ForeignKey(Image) 
description = models.TextField(max_length=300) 
website = models.URLField(max_length=100,null=True) 

def __unicode__(self): 
    return self.name 


class Country(models.Model): 
name = models.CharField(max_length=50,null=False) 

def __unicode__(self): 
    return self.name 

도와 주시겠습니까? 이 found here 될 수 있습니다에

country = models.ForeignKey('Country',null=False) 

문서 :

답변

14

어느

OR을 User 모델에서

, 속성 country에 업데이트 파일에 위의 UserCountry의 클래스 정의를 이동

2

당신은 사용자 정의의 위 국가의 finition.

컴파일러가 (.pyc 바이트 코드로 컴파일 할 때) 사용자에 대한 클래스 정의를 컴파일하고 국가 유형 개체에 대한 참조를 확인합니다. 컴파일러는 아직이 정의를 보지 못했으며 무엇인지 모릅니다. 그러므로 정의되지 않은 오류입니다. 당신이 전화 또는 그것을

+0

걱정을 참조하지 전에

그래서 thumb-의 기본 규칙> 모든 정의 할 수 있습니다. 나는 '국가'를 사용하는 karthikr의 대체 방법으로 갈 것입니다. 그렇게하면 물건을 움직일 필요가 없습니다. 컴파일이 어떻게 작동했는지 설명하고 싶었습니다. :) –

관련 문제