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

Peewee,Python,获取列外键中的数据,python,sql,class,foreign-keys,peewee,Python,Sql,Class,Foreign Keys,Peewee,嗨,我有一个数据库和两个表 color: color_id | color_name | color_type fruit: fruit_id | color | fruit_name 我在水果表中的“颜色”是一个外键,拖到颜色表中的“颜色id” 因此,使用Peewee&Python,我希望在水果表中获得“颜色”,但我也会得到“无” fruits= Fruit.select() for fruit in fruits: c = fruit.color pri

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

color: color_id | color_name | color_type
fruit: fruit_id | color | fruit_name
我在水果表中的“颜色”是一个外键,拖到颜色表中的“颜色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'
你知道我如何在表格“水果”中的“颜色”列中获取值吗?Thanx

删除“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)