2014-09-05 3 views
0

희망을 저를 도울 수 있습니다!플라스크 - 관리자에서 자체 참조 관계가 사라졌습니다

나는 다음과 같이 SQLAlchemy의에서 관계를 가지고 :

class Location(db.Model, DateModified, Sluggable): 
    __tablename__ = 'location' 
    __sluggable__ = { 
     'populate_from': 'title', 
     'always_update': True 
    }  
    id = db.Column(db.Integer, primary_key=True) 

    title = db.Column(db.String(80)) 

    ... 

    parent_location_id = db.Column(db.Integer, db.ForeignKey('location.id'), index=True) 
    parent_location = db.relationship(lambda: Location, remote_side=id, backref='child_locations') 

나는 부모의 위치가 저장 될 때 간헐적으로 플라스크-관리자 또는 SQLAlchemy의이 parent_location_id를 잃어버린되는 사실을 디버깅하는 방법에 대한 정말 확실 해요.

이 사라지는 행위는 상당히 무작위로 보입니다.

아무도 내가 이것을 디버깅하는 방법에 대한 단서가 있으면 대단히 도움이 될 것입니다!

감사합니다.

+0

트리가있는 SQLAlchemy 예제가 있습니다 -이 역시 거기에서 발생합니까? – Joes

답변

0

조, 감사합니다.

단순히 양식에 숨겨진 내 모델에 역 참조가있었습니다. 따라서 제출 된 데이터는 비어있어 관계를 삭제합니다.

이야기의 도덕적 : 관리자 양식에 숨겨진 참조가 없어야합니다.

+0

안녕하십니까, 필드를 표시하고 읽기 전용으로 설정하고 양식을 제출할 때 서버 측에 값을 렌더링하여 DB에서 삭제되지 않도록 할 수 있습니까? –

+0

http://stackoverflow.com/questions/14874846/readonly-text-field-in-flask-admin-modelview/23959450#23959450 – pip