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私は本当に、なぜこのエラーを理解できないのですか?
または引用エリア、このような: '面積= models.ForeignKey( 'エリア')そうです' – slackmart
@slackmart。私はそれを逃した... – Varad
@バラッドthxのurの答え。私は、コードを書いたが、私は./manage.pyのmakemigrationsを実行すると、エラーが発生しましたあなたは、デフォルト;これを行うことはできません(データベースには既存の行を移入するための何かが必要です)。 修正を選択してください: 1)今すぐ一回限りのデフォルトを提供してください(この列にnull値を持つ既存のすべての行に設定されます) 2)終了し、models.pyにデフォルトを追加します。 – user8504021