簡體   English   中英

`peewee` 如何獲取外鍵的父 model

[英]`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 
        

如您所見, CarPet模型都連接到Person 假設我有一個 object 可以是carpet 我不確定哪個,但我知道owner字段是一個外國字段。 如何獲得該字段的父 model?

好的,我設法找到了答案。

obj._meta.fields會給我們一個字典,其中鍵是字段名,值是字段 object。 這意味着,我們可以通過以下方式獲得字段 object:

owner_field = obj._meta.fields['owner']

現在,要獲取 model 及其相關字段,我們需要執行owner_field.rel_modelowner_field.rel_field

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM