2017-09-07 5 views
0

models.py에서 영역 데이터 모델을 만들었습니다. 나는 이주 명령을 실행하면NameError : name 'Area'가 정의되지 않았습니다.

#coding:utf-8 
from django.db import models 
class User(models.Model): 
    name = models.CharField(max_length=200,null=True) 
    age = models.CharField(max_length=200,null=True) 
    area = models.ForeignKey(Area) 

class Area(models.Model): 
    name = models.CharField(max_length=20, verbose_name='area') 

class Prefecture(models.Model): 
    name = models.CharField(max_length=20, verbose_name='city') 
    area = models.ForeignKey(Area) 

class City(models.Model): 
    name = models.CharField(max_length=20, verbose_name='region') 
      prefecture = models.ForeignKey(Prefecture) 

class Price(models.Model): 
    name = models.CharField(max_length=20, verbose_name='price') 
      PRICE_RANGE = (
       ('a', 'under500'), 
       ('b', '500-1000'), 
       ('c', 'upper1000'), 
      ) 
    price_range = models.CharField(max_length=1, choices=PRICE_RANGE) 
    city = models.ForeignKey(City) 

NameError: name 'Area' is not defined area = models.ForeignKey(Area) 오류 happens.However, 나는 지역을 정의, 그래서이 문제를 해결해야 happens.How 난 정말 왜이 오류를 이해할 수 없다?

답변

0

User 클래스 앞에 Area 클래스를 정의하십시오. 상황은 잘되어야합니다. 이 같은

class Area(models.Model): 
    name = models.CharField(max_length=20, verbose_name='area', null=True) 

class User(models.Model): 
    name = models.CharField(max_length=200,null=True) 
    age = models.CharField(max_length=200,null=True) 
    area = models.ForeignKey('Area') 

class Prefecture(models.Model): 
    name = models.CharField(max_length=20, verbose_name='city') 
    area = models.ForeignKey('Area') 

class City(models.Model): 
    name = models.CharField(max_length=20, verbose_name='region') 
      prefecture = models.ForeignKey('Prefecture') 

class Price(models.Model): 
    name = models.CharField(max_length=20, verbose_name='price') 
      PRICE_RANGE = (
       ('a', 'under500'), 
       ('b', '500-1000'), 
       ('c', 'upper1000'), 
      ) 
    price_range = models.CharField(max_length=1, choices=PRICE_RANGE) 
    city = models.ForeignKey('City') 
+1

또는 인용 구역,'지역 = models.ForeignKey ('지역')'그 @slackmart – slackmart

+0

맞아요. 나는 그것을 놓쳤다. ... – Varad

+0

@Varad thx ur 대답. 나는 ur 코드를 썼다. ./manage.py makemigrations를 실행할 때 오류가 발생했다. 태만; 우리는 그렇게 할 수 없습니다 (데이터베이스는 기존 행을 채우기 위해 무언가를 필요로합니다). 픽스를 선택하십시오 : 1) 현재 일회 기본값을 제공합니다 (이 열에 대해 null 값을 가진 기존의 모든 행에 설정 됨) 2) 종료하고 models.py에서 기본값을 추가하겠습니다. – user8504021

관련 문제