class Parent(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(120))
def __repr_(self):
return '<Parent %r>' % (self.name)
admin.add_view(ModelView(Parent, db.session))
class Child(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(120))
parent = db.Column(db.Integer, db.ForeignKey(Parent))
admin.add_view(ModelView(Child, db.session))
Witam -kolba-admin nie pokazując ForeignKey kolumny
Powyższy kod jest przykładem strony kolba-admin który próbuję stworzyć. Celem jest stworzenie na stronie Tworzenie dziecka pola tekstowego z nazwą i rozwijanego, aby wybrać rodzica.
Po powyższym ustawieniu jest tylko pole nazwy. Brakuje nadrzędnego menu rozwijanego.
Jakieś pomysły, jak to osiągnąć?
Awesome! Spróbuję tego dziś wieczorem. Czy potrzebuję informacji o Primaryjoin/Secondaryjoin? Otrzymywałem wiele błędów na ten temat. Mam nadzieję, że twoja zmiana zadziała zadziwiająco! – screenshot345
Szczerze mówiąc, nie wiedziałbym. Nigdy nie widziałem nic o primaryjoin/secondaryjoin z Flask-Alchemy lub Flask-Admin. – Robin
Powód, dla którego to działa: Flask-Admin współpracuje z obiektami ORM, takimi jak modele, relacje, itp. Domyślnie Flask-Admin ignoruje klucze obce w modelach, ponieważ zawierają one tylko pewną liczbę i Flask-Admin chce, aby konkretny obiekt ORM działał z. Tak więc, gdy masz klucz obcy w modelu, upewnij się, że nie zapomnisz powiązania poziomu ORM między modelami - relacji. Flask-Admin użyje tego linku, aby wyświetlić powiązany model (y). I nie, nie musisz robić fantazyjnych rzeczy ani dodawać funkcji backrefs, aby to działało. – Joes