Django - как использовать модель Proxy без попадания в базу данных? - PullRequest
0 голосов
/ 12 января 2020

Я использую модель proxy для расширения функциональности (получатели и т. Д. c) модели Product.

Обычно я использую это правильно.

ProxyProduct.objects.filter()...

Но есть ситуация, когда мне нужно использовать модель прокси внутри метода Product, потому что ProxyModel имеет метод get__export_price(), который я хочу использовать в Product.get_export_price.

class Product(models.Model...):
    def get_export_price(self):
        ExportAdapter = self.get_export_adapter_class() # gets Proxy model
        # I can do ExportAdapter.objects.get(pk=self.pk) but it's a redundant db query
        return ExportAdapter(self).get__export_price()

К сожалению, я не могу создать полностью функциональные Proxy объекты таким образом: ExportAdapter(self)

Есть ли способ сделать это и избежать попадания в базу данных во второй раз?

ОБЪЯСНЕНИЕ

У меня есть файлы с разными моделями Proxy для разных пользователей. У каждого пользователя есть свой способ получения экспортных цен и других атрибутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...