一意の(uuids)であるprimary_keysで複数のテーブルを照会する必要があります。Django:全モデルのpkによるクエリ
私の考えは、すべてのモデルを一度に照会するためにモデル継承を使用することでした。私はBaseItemを持っており、他のすべてのモデルはこのBaseItemモデルのサブクラスです。
私のクエリは、私が期待していたものを返さない。ここではサンプルモデルだ:私は=「1234」PKでNamedRevを作成し、
BaseRev.objects.get(pk="1234")
のようなクエリを作成するとき
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)
私は正しいPKで結果を得るが、それはタイプBaseItemのです。ドキュメントによると、rev_idフィールドはBaseRevテーブルにのみ存在し、NamedRevテーブルのNamedRevの追加フィールドには正しい動作が示されています。
どのようにして、特定のクエリに対してNamedRev型の(適切な)完全な(すべてのフィールドとともに)オブジェクトを取得できますか?
乾杯、
月
これは私に属性エラー(名前はBaseRevからABaseRevに変更されました)を返します。AttributeError:タイプオブジェクト 'ABaseRev'には 'オブジェクト'属性がありません – Knack