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我應該解決這個問題?
或引用區域,如下所示:'area = models.ForeignKey('Area')' – slackmart
@slackmart沒錯。我錯過了... – Varad
@Varad thx你的答案。我寫了你的代碼,但是當我運行./manage.py makemigrations時,我得到了一個錯誤你試圖添加一個不可空的字段「區域」默認;我們不能這樣做(數據庫需要一些東西來填充現有的行)。 請選擇一個修復程序: 1)現在提供一次性默認設置(將在所有現有行上爲該列設置一個空值) 2)退出,讓我在models.py中添加一個默認值。 – user8504021