如何获取所选外键的值?
How to get the selected foreign key's value?
型号:
class Item(models.Model):
name = [...] # unique
quantity = [..integer_field..]
class Sales(models.Model):
sold_to = [...]
sold_item = foreign key to Item
sold_quantity = [..integer field..]
我想确保如果所选项目的数量为 5,并且你将 6 或更多传递给 sold_quantity
,则抛出一个 validation error
说 “你只有 X 的库存,想卖掉 Y"。
我试图覆盖 save 方法,但无论我如何尝试这样做,它都没有改变。当我尝试访问 self.sold_item
时,它 returns 所选项目的名称。
当我尝试做 item.objects.get(name=self.sold_item)
时,无论我做什么 returns 只是项目的名称,我无法访问其他字段(称为数量)。
浓度:
Item.objects.get(name=self.sold_item)
returns 项目名称。
使用相同但 Filter 而不是 Get returns 查询集,其中包含 我无法访问它的其他字段。
根据对问题的评论,这就是答案
have you tried this self.sold_item.quantity
? you can just check if self.sold_item.quantity < self.sold_quantity: raise ....
型号:
class Item(models.Model):
name = [...] # unique
quantity = [..integer_field..]
class Sales(models.Model):
sold_to = [...]
sold_item = foreign key to Item
sold_quantity = [..integer field..]
我想确保如果所选项目的数量为 5,并且你将 6 或更多传递给 sold_quantity
,则抛出一个 validation error
说 “你只有 X 的库存,想卖掉 Y"。
我试图覆盖 save 方法,但无论我如何尝试这样做,它都没有改变。当我尝试访问 self.sold_item
时,它 returns 所选项目的名称。
当我尝试做 item.objects.get(name=self.sold_item)
时,无论我做什么 returns 只是项目的名称,我无法访问其他字段(称为数量)。
浓度:
Item.objects.get(name=self.sold_item)
returns 项目名称。
使用相同但 Filter 而不是 Get returns 查询集,其中包含
根据对问题的评论,这就是答案
have you tried this
self.sold_item.quantity
? you can just check ifself.sold_item.quantity < self.sold_quantity: raise ....