Commit dce52ed4 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #147. Pass reverse property when constructing InlineFormList and let...

Fixed #147. Pass reverse property when constructing InlineFormList and let SQLAlchemy to update dependencies
parent 3820ae87
...@@ -71,6 +71,16 @@ class UserInfo(db.Model): ...@@ -71,6 +71,16 @@ class UserInfo(db.Model):
return '%s - %s' % (self.key, self.value) return '%s - %s' % (self.key, self.value)
class Tree(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64))
parent_id = db.Column(db.Integer, db.ForeignKey('tree.id'))
parent = db.relationship('Tree', remote_side=[id], backref='children')
def __unicode__(self):
return self.name
# Flask views # Flask views
@app.route('/') @app.route('/')
def index(): def index():
...@@ -112,6 +122,10 @@ class PostAdmin(sqlamodel.ModelView): ...@@ -112,6 +122,10 @@ class PostAdmin(sqlamodel.ModelView):
super(PostAdmin, self).__init__(Post, session) super(PostAdmin, self).__init__(Post, session)
class TreeView(sqlamodel.ModelView):
inline_models = (Tree,)
if __name__ == '__main__': if __name__ == '__main__':
# Create admin # Create admin
admin = admin.Admin(app, 'Simple Models') admin = admin.Admin(app, 'Simple Models')
...@@ -120,6 +134,7 @@ if __name__ == '__main__': ...@@ -120,6 +134,7 @@ if __name__ == '__main__':
admin.add_view(UserAdmin(User, db.session)) admin.add_view(UserAdmin(User, db.session))
admin.add_view(sqlamodel.ModelView(Tag, db.session)) admin.add_view(sqlamodel.ModelView(Tag, db.session))
admin.add_view(PostAdmin(db.session)) admin.add_view(PostAdmin(db.session))
admin.add_view(TreeView(Tree, db.session))
# Create DB # Create DB
db.create_all() db.create_all()
......
...@@ -234,9 +234,6 @@ class InlineModelFormList(InlineFieldList): ...@@ -234,9 +234,6 @@ class InlineModelFormList(InlineFieldList):
field.populate_obj(model, None) field.populate_obj(model, None)
# Force relation
setattr(model, self.prop, obj)
def get_pk_from_identity(obj): def get_pk_from_identity(obj):
# TODO: Remove me # TODO: Remove me
......
...@@ -467,7 +467,7 @@ class InlineModelConverter(InlineModelConverterBase): ...@@ -467,7 +467,7 @@ class InlineModelConverter(InlineModelConverterBase):
InlineModelFormList(child_form, InlineModelFormList(child_form,
self.session, self.session,
info.model, info.model,
forward_prop.key, reverse_prop.key,
**kwargs)) **kwargs))
return form_class return form_class
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment