Как использовать select_related в методе сохранения модели администратора

Я хочу получить конкретную информацию из различных моделей, поэтому я использовал метод select_related для получения данных, но я не могу сохранить запись в db. Как использовать select_related в методе сохранения?

Допустим, у меня есть следующие модели models.py

Теперь я хочу получить количество_продукта из списка запасов и выполнить вычитание между количеством_продукта и количеством_отгрузки (из модели stockOut), чтобы получить конечное количество, которое осталось.

admin.py

Но я не могу сохранить/обновить значение в db, когда я использую метод select_related для получения конкретной информации. Как я могу это сделать? Спасибо.

во-первых, вы не получите только shipping_qty, если вы сделаете stockOut.objects.all().select_related("shipping_qty"), но вы получите все экземпляры stockOut с их shipping_qty и запасами

Вы хотите получить эти значения только для текущего экземпляра

def save_model(self, request, obj, form, change):
    stock = obj.stock
    shipping_qty = obj.shipping_qty
    if shipping_qty and stock.quantity_in_store:
        obj.shipping_qty = stokc.quantity_in_store - shipping_qty
    super().save_model(request, obj, form, change)
Вернуться на верх