Ich verwende dieses Tutorial als Richtlinie. http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-databaseFlask Database Ausgabe
Ich möchte Kategorien haben, die mehrere Produkte heben können. Ähnlich wie er einen User mit mehreren Posts hat.
, wenn ich die Python-Interpreter öffnen und versuchen, eine Kategorie
>>>from app import db, models
>>>u = models.Category(name="Test")
ich diesen Fehler zu erstellen
/sqlalchemy/orm/properties.py", line 1387, in _generate_backref
self, mapper))
sqlalchemy.exc.ArgumentError: Error creating backref 'category' on relationship 'Category.products': property of that name exists on mapper 'Mapper|Product|product'
So gibt es ein Problem mit dem backref ist. Im Tutorial (und ich habe es mit seinem Code versucht) ist er in der Lage, einen Benutzer mit ähnlicher Syntax zu erstellen.
Ich habe sogar versucht, alle seine Dateien und erstellt und migrierte eine neue Datenbank und ich bekomme den gleichen Fehler.
Hier ist meine models.py Datei:
from app import db
WR_IP_NO = 0
WR_IP_YES = 1
class Category(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(64), unique = True)
products = db.relationship('Product', backref = 'category', lazy = 'dynamic')
def __repr__(self):
return '<Category %r>' % (self.name)
class Product(db.Model):
id = db.Column(db.Integer, primary_key = True)
category = db.Column(db.String(64), db.ForeignKey('category.id'))
courseName = db.Column(db.String(120), unique = True)
ip = db.Column(db.SmallInteger, default = WR_IP_YES)
duration = db.Column(db.Integer)
productRev = db.Column(db.String(64))
#use when database is updated?
releaseDate = db.Column(db.DateTime)
def __repr__(self):
return '<Category> %r>' % (self.courseName)
Vielen Dank – Siecje
Erzwingt dies die Umbenennung der Feldkategorie der SQL-Datenbank in category_id? – Herbert