如何获取所选外键的值?

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 ....