У меня есть приложение django со следующей моделью:
Объект A - это простой объект, выходящий из модели с несколькими полями, и, скажем, конкретный объект является полем charс именем "ИМЯ" и целочисленное поле с именем "ЗАКАЗ" . A является абстрактным, что означает, что в базе данных нет A объектов, но вместо этого ...
Объекты B и C являются специализациями A , что означает, что они наследуются от A и добавляют некоторые другие поля.
Теперь предположим, что мне нужны все объекты, чье поле ИМЯ начинается с буквы "Z" , упорядоченной по полю ORDER , но яВам нужны все поля, специфичные для B и C для этих объектов.Теперь я вижу 2 подхода:
a) Выполнять запросы по отдельности для B и C объектов и извлекать два списка, объединять их, заказывать вручную и работать с этим.
b) Запрос A объектов на имена, начинающиеся с "Z" , упорядоченные по "ORDER" и с результатом запроса B и C объекты для получения всех оставшихся данных.
Оба подхода звучат крайне неэффективно, в первом я должен заказать их сам, во втором я должензапрашивать базу данных несколько раз.
Есть ли магический способ, по которому мне не хватает выбрать все объекты B и C , упорядоченные одним способом?Или, по крайней мере, более эффективный способ сделать это, чем оба упомянутых?
Заранее спасибо!
Бруно