私は各子値で親クラスの値を取得したいですか?フェッチする子オブジェクトをどのように識別できますか?Djangoモデルの継承とカテゴリに基づく子へのアクセス
私はこのようなDjangoモデル構造を持っています。
class Category(models.Model):
name = models.CharField(max_length=80)
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
category = models.ForeignKey('Category')
class PizzaRestaurant(Place):
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
class PastaRestaurant(Place):
extra = models.CharField(max_length=80)
私たちは操作をするとき、以下のようにオブジェクトを保存することができます。それは私が期待したようにDBに保存されました。 Placeテーブルの2つのエントリと各子オブジェクトテーブルの各エントリ。
a = Category()
a.name = "pasta"
b = Category()
b.name = "pizza"
a.save()
b.save()
x = PastaRestaurant()
x.address = "Pasta Address"
x.name = "Pastamonia"
x.extra = "some extra"
x.category = a
y = PizzaRestaurant()
y.address = "Pizza Address"
y.name = "Dominos"
y.serves_hot_dogs = 1
y.serves_pizza = 0
y.category = b
x.save()
y.save()
は今、私は場所オブジェクトに/オブジェクトの属性私が知ることができますどのようにこの
p = Place.objects.get(id=1)
、などの所属にアクセスする必要がありますか? 共通の属性を持つ場所を取得するときに、対応する子オブジェクトの値も取得できる必要があります。
私の必要性のための他のモデル設計の仕事ですか?
ジャンゴモデル-utilsのをインポートすると、1.9を通じてDjangoの1.4をサポートしています。現在のリリース1.10ではありませんか? Djangoの新しいリリースのためにこれは仕事であるとは知らないのですか? –
問題なく1.10で使用します。 –