繁体   English   中英

Peewee,Python,获取列外键中的数据

[英]Peewee, Python, get data in column foreign key

嗨,我有一个数据库和2个表,

color: color_id | color_name | color_type
fruit: fruit_id | color | fruit_name

我在水果表中的“颜色”是一个外键,拖到颜色表中的“ color_id”。

因此,我想用Peewee和Python在水果表中获取“颜色”,但我总是收到“无”的颜色。

fruits= Fruit.select() 
for fruit in fruits:    
     c = fruit.color   
     print(c)

我尝试过

fruits = Fruit.get()

但是在这里我不能重复它。 我给你看我的模特:

class Fruit(BaseModel):
    fruit_id= CharField()
    name = Charfield()
    color= ForeignKeyField(column_name='color', field='color', model=Color, null=True)

    class Meta:
        table_name = 'fruit'

您是否知道如何在“水果”表的“颜色”列中获取值? 谢谢

删除“ field =“参数,因为这不是必需的,并且仅当需要在相关模型上引用特定(非主键)字段时才应指定:

class Fruit(BaseModel):
    fruit_id = CharField()
    name = Charfield()
    color = ForeignKeyField(Color, column_name='color', null=True)

    class Meta:
        table_name = 'fruit

仅供参考,遍历水果访问颜色是O(n)查询的示例。 您最好这样做,它会连接到颜色表并选择除水果列之外的颜色列:

query = Fruit.select(Fruit, Color).join(Color)
for fruit in query:
    print(fruit.name, fruit.color.color_name)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM