【发布时间】:2015-08-06 16:31:53
【问题描述】:
我尝试使用 Peewee ORM 选择一些数据,但我对如何正确使用外键感到困惑。
我想通过 Act.id 选择 post_title、user_name、act_title(act 中的默认主键)。
所以我用这个
Post.select(Post.post_tile,User.user_name,Act.act_title).join(Act).join(User).where(Act.id==actId)
但我得到了这个: [{"post_title": null,"user": {}, "act": {}}]
这是我的模型:
class User(BaseModel):
user_name = CharField(max_length=30,unique=True)
user_email = CharField(max_length=60,unique=True)
class Act(BaseModel):
user = ForeignKeyField(User, related_name='users_act_id') #foreignkey
act_title = CharField(max_length=30)
class Post(BaseModel):
act = ForeignKeyField(Act,related_name='acts_id') #foreignkey
user = ForeignKeyField(User,related_name='users_post_id') #foreignkey
post_title = CharField(max_length=30)
【问题讨论】:
-
为您的课程使用模拟表,看起来您的选择应该可以工作。就调试而言,您尝试过什么?您使用的是什么类型的数据库? Act中是否存在actId中的值?
-
我正在使用 Mysql,并且在我的 json 数据中得到了这个 "post_content": "\u597d", "user": {}, "act": {}