[英]`peewee` how to get the parent model of a foreign key
假設我創建了幾個pweewee
鏈接模型
db = SqliteDatabase('people.db')
class Person(Model):
name = CharField()
birthday = DateField()
class Meta:
database = db # This model uses the "people.db" database.
class Pet(Model):
owner = ForeignKeyField(Person, backref='pets')
name = CharField()
animal_type = CharField()
class Meta:
database = db # this model uses the "people.db" database
class Car(Model):
owner = ForeignKeyField(Person, backref='cars')
model = CharField()
class Meta:
database = db # this model uses the "people.db" database
如您所見, Car
和Pet
模型都連接到Person
。 假設我有一個 object 可以是car
或pet
。 我不確定哪個,但我知道owner
字段是一個外國字段。 如何獲得該字段的父 model?
好的,我設法找到了答案。
obj._meta.fields
會給我們一個字典,其中鍵是字段名,值是字段 object。 這意味着,我們可以通過以下方式獲得字段 object:
owner_field = obj._meta.fields['owner']
現在,要獲取 model 及其相關字段,我們需要執行owner_field.rel_model
和owner_field.rel_field
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.