如何创建具有PrimaryKeyField和ForeignKeyField的Object? Python Flask PeeWee

时间:2016-05-21 22:33:40

标签: python flask-peewee

班级:

class User(flask_db.Model, UserMixin):
    id = PrimaryKeyField()
    social_id = CharField(null=False, unique=True)
    nickname = CharField(null=False)
    email = CharField(null=True)

class Feed(flask_db.Model):
    id = PrimaryKeyField()
    user = ForeignKeyField(User, related_name='feeds')
    title = CharField()
    url = CharField()
    description = CharField()

如果我这样做:

newfeed = Feed.create(..)

我应该在类型ID和类型用户中添加什么?

我应该如何获得用户的所有Feed?  有这样的东西?

    feedsofuserTom = Feed.select().where(Feed.user == userTom)

我不理解ForeignKeyField()函数,我阅读了文档,但示例对我不起作用。 http://docs.peewee-orm.com/en/latest/peewee/models.html

1 个答案:

答案 0 :(得分:1)

ForeignKey是模型之间的关系。 ForeignKey是ManyToOne关系。 因此,对于您的Feed,您可以根据需要关联尽可能多的用户。

因此,在您的示例中,首先必须创建User instanse。然后在创建Feed时添加它。 first_user = User.create(social_id = 1,nickname = name,email =" email") newfeed = Feed.create(user = first_user,title =" cool feed",url =" url.com",description =" description")

据我所知,你不必添加PrimaryKeyField()。该字段将由数据库自动添加。