Как получить значение выбранного внешнего ключа?
Модели:
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 ....
~ Тьерно Амаду Соу
"