Я использую Django 1.9.1, Python 3.5. models.py
:Django. Значение по умолчанию из внешнего ключа
class Item(models.Model):
name = models.CharField(max_length=200)
price = models.FloatField()
def __str__(self): # __unicode__ on Python 2
return self.name
class Lot(models.Model):
item = models.ForeignKey(Item)
count = models.IntegerField(default = 1)
price = models.FloatField(default = 1) #Price on the moment of buying
def __str__(self): # __unicode__ on Python 2
return self.item.name
def cost(self):
return self.price * self.count
Я хочу, чтобы создать объект Лота Атмосферостойкого по умолчанию price = item.price
. То есть цена на момент покупки. Поэтому я не могу получить значение price
из Lot.item.price, потому что это может быть иначе. Когда код models.py
такова:
class Lot(models.Model):
item = models.ForeignKey(Item)
count = models.IntegerField(default = 1)
price = models.FloatField(default = item.price) #Price on the moment of buying
def __str__(self): # __unicode__ on Python 2
return self.item.name
def cost(self):
return self.price * self.count
Я получаю следующее сообщение об ошибке:
AttributeError: 'ForeignKey' object has no attribute 'price'
Как я должен исправить этот код?