Я использую модель 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
для разных пользователей. У каждого пользователя есть свой способ получения экспортных цен и других атрибутов.