【问题标题】:`peewee` how to get the parent model of a foreign key`peewee`如何获取外键的父模型
【发布时间】:2020-11-26 18:49:47
【问题描述】:

假设我创建了几个 pweewee link 模型

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。假设我有一个对象可以是 carpet。我不确定哪个,但我知道owner 字段是一个外国字段。如何获取该字段的父模型?

【问题讨论】:

    标签: python peewee flask-peewee


    【解决方案1】:

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

    obj._meta.fields 会给我们一个字典,其中键是字段名,值是字段对象。这意味着,我们可以通过以下方式获取字段对象:

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

    现在,要获取模型及其相关的字段,我们需要执行owner_field.rel_modelowner_field.rel_field

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 2023-03-17
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多