Django에서 ForeignKey 사용시 NameError 가 뜨는 경우
아래 예제에서와 같이 Chpater 클래스에서 UserInfor 클래스의 sn 을 Foreign Key 관계를 맺을려고 하는 경우 아래와 같이 NameError가 뜨는 경우이다.
NameError : .... is undefined.
class Chapter(models.Model):
sn = models.ForeignKey(UserInfo) ..........
class UserInfo(models.Model):
sn= models.CharField(max_length=20, primary_key=True)
nm = models.CharField(max_length=50, blank=True, null=True)
userid = models.CharField(max_length=20, blank=True, null=True)
이 경우는 클래스의 순서때문에 발생하는 에러이다. 파이썬은 인터프리터 언어이며, 인터프리터는 한 줄 한 줄 읽어나간다. 파이썬 인터프리터는 forward lookup 을 하지 않는다는 이야기이다. 따라서 아래와 같이 순서를 조정해야 한다.
class UserInfo(models.Model):
sn= models.CharField(max_length=20, primary_key=True)
nm = models.CharField(max_length=50, blank=True, null=True)
userid = models.CharField(max_length=20, blank=True, null=True)
class Chapter(models.Model):
sn = models.ForeignKey(UserInfo) ..........
'프로그래밍 Programming' 카테고리의 다른 글
우분투(Ubuntu) 아나콘다(Anaconda) 설치 (0) | 2015.09.27 |
---|---|
장고 소스 파일 위치 찾기 (Where are the Django source files?) (0) | 2015.09.24 |
외부에서 장고 웹서버 접속하기(Accessing local django webserver from outside) (0) | 2015.09.10 |
Windows 7 IIS 설치 및 열기 (0) | 2015.09.07 |
파이썬, 장고, 그리고 오라클 데이터베이스 연결하기 (2) (0) | 2015.08.25 |