Как получить значение выбранного внешнего ключа?

Модели:

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, а в sold_quantity передается 6 или больше, то вылетала ошибка валидации, говорящая "У вас на складе только X, а вы хотели продать Y". Я попытался переопределить метод сохранения, но как бы я ни пытался это сделать, ничего не меняется. Когда я пытаюсь получить доступ к self.sold_item, он возвращает имя выбранного товара. Когда я пытаюсь сделать item.objects.get(name=self.sold_item), что бы я ни делал, возвращается только имя товара, и я не могу получить доступ к другим полям (известным как Quantity).

Конк: Item.objects.get(name=self.sold_item) возвращает имя предмета. При использовании того же самого, но Filter вместо Get, возвращается queryset, который содержит <Item: имя предмета> и я не могу получить доступ к другим его полям.

Решено: Спасибо за ответ!

"Вы пробовали это self.sold_item.quantity? Вы можете просто проверить, если self.sold_item.quantity < self.sold_quantity: raise .... ~ Тьерно Амаду Соу "

Вернуться на верх