2016-05-21 8 views
-1

die Klassen:Wie erstellt man ein Objekt mit PrimaryKeyField und ForeignKeyField? 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() 

Wenn ich so etwas wie:

newfeed = Feed.create(..) 

Was soll ich in der Art-ID setzen und in der Art Benutzer?

Wie soll ich alle Feeds eines Users bekommen? Mit so etwas?

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

Ich habe nicht die ForeignKeyField() Funktion verstehen, las ich die Dokumentation aber die Beispiele nicht für mich arbeiten. http://docs.peewee-orm.com/en/latest/peewee/models.html

Antwort

1

ForeignKey ist eine Beziehung zwischen Modellen. ForeignKey ist ManyToOne-Beziehung. Also für Ihren Feed können Sie so viele Benutzer wie Sie wollen beziehen.

Also in Ihrem Beispiel zuerst müssen Sie Benutzer instanse erstellen. Und dann fügen Sie es hinzu, während Sie Feed erstellen. first_user = User.create (social_id = 1, nickname = name, email = "email") newfeed = Feed.create (user = erster_benutzer, title = "cool feed", url = "url.com", description = " Beschreibung ")

Soweit ich mich erinnere, müssen Sie nicht PrimaryKeyField() hinzufügen. Dieses Feld wird automatisch von der Datenbank hinzugefügt.

Verwandte Themen