2017-09-13 26 views
0

我想把數據放到價格模型的上1000上。 所以我覺得我要讀價格upper1000,所以我寫了我想把數據放到價格模型的上1000上

area = Area.objects.filter(name="America").first() 
pref = Prefecture.objects.create(name="pref", area=area) 
city = City.objects.create(name="city", prefecture=pref) 
price = Price.objects.create(city=city) 
price_u1000 = price.upper1000.create(city=city) 

但AttributeError的:「NoneType」對象有沒有屬性「創造」的錯誤發生。 models.py是

class Price(models.Model): 
    upper1000 = models.CharField(max_length=20, verbose_name='1000', null=True) 
    from500to1000 = models.CharField(max_length=20, verbose_name='500~1000', null=True) 

爲什麼會出現這種錯誤發生的呢?有什麼不對?我怎樣才能解決這個問題?

+0

你如何初始化'Price.objects'? – clemens

+0

@macmoonshine @macmoonshine我更新了我的question.pref&city&price有外鍵,所以我想如果我初始化區域,價格也是初始化的 – user8563636

+0

@ user8563636不,外鍵沒有初始化其他字段 – AndMar

回答

1
  • 首先,因爲你沒有在你的模型字段city您不能使用此Price.objects.create(city=city) 。需要使用Price.objects.create(upper1000=city.name)
  • 接下來,upper1000None因爲你以前 命令的結果,upper1000NULL
  • 最後,爲變化而變化upper1000使用本:

    price.upper1000 = city.name 
    price.save() 
    
+0

thx你的答案。我無法從Final中理解,變量〜。從city_name哪裏來的?你可以在你的答案中寫出整個代碼嗎? – user8563636

+0

我在你的評論中讀到,那個模型有'Foreign key'你可以用is更新這個問題嗎? – AndMar

相關問題