Мне нужно сделать запрос по нескольким таблицам по primary_keys, которые являются уникальными (uuids).
Моя идея состояла в том, чтобы использовать наследование моделей для запроса всех моделей одновременно.У меня есть BaseItem, и все другие модели являются подклассами этой модели BaseItem.
Теперь мой запрос не возвращает то, что я ожидал и нуждался.Вот пример модели:
from django.db import models
from django.contrib.auth.models import User
class BaseRev(models.Model):
rev_id = models.CharField(max_length=32, primary_key=True)
item_id = models.CharField(max_length=32, blank=True, null=True)
creation_date = models.DateTimeField()
class NamedRev(BaseRev):
name = models.CharField(max_length=64, blank=True, null=True)
description = models.CharField(max_length=256, blank=True, null=True)
creator = models.ForeignKey('UserProfile', related_name='namedrev_creator', blank=True, null=True)
Когда я создаю NamedRev с pk = "1234" и выполняю запрос типа
BaseRev.objects.get(pk="1234")
, я получаю результат с правильным pk, но этотипа BaseItem.В соответствии с документами, это правильное поведение, поскольку поле rev_id существует только в таблице BaseRev и дополнительные поля для NamedRev в таблице NamedRev.
Как получить "правильные" и полные (со всеми полями) объекты типа NamedRev для данного запроса?
Приветствия,
Ян