flask-sqlalchemy,一对多关系,外键变为NULL

赵敏珠

我有用户表和专辑表等。和用户专辑有一对多的关系。

但是当用户关联一张或多张专辑时,专辑表中不包括最新专辑的外键变为null。这是 user_uid=1 有 3 个专辑和 user_uid=2 有 1 个专辑的情况。(但是 user_uid=1 的外键只是一个。而且这个问题也发生在有一对多关系的任何地方。这是我的代码..

class User(Base):
__tablename__ = 'user'

uid = Column(Integer, primary_key=True)
username = Column(String(10), unique=True, nullable=False)
email = Column(String(35), unique=True, nullable=False)
salted_password = Column(String(100), unique=True, nullable=False)
profile_pic = Column(String(100))
authorization = Column(Boolean)
expiry = Column(DATETIME)
fcm_token = Column(String(45))
created_at = Column(DATETIME)
albums = relationship('Album')
notifications = relationship('Notification')
like_photo = relationship('Photo', secondary=like_photo)
follow_album = relationship('Album', secondary=follow_album)
followed = relationship('User',
                           secondary=followers,
                           primaryjoin=(followers.c.follower_id == uid),
                           secondaryjoin=(followers.c.followed_id == uid),
                           backref=backref('followers', lazy='dynamic'),
                           lazy='dynamic')
comment_photo = relationship('Photo', secondary=comment)




class Album(Base):
__tablename__ = 'album'

aid = Column(Integer, primary_key=True)
title = Column(String(45), nullable=False)
created_at = Column(DATETIME)
user_uid = Column(Integer, ForeignKey('user.uid'))
photos = relationship('Photo')
album_tags = relationship('Album_tag')

我更新了专辑表如下..

u = User.query.filter(User.uid == session['uid']).first()
u.albums = [Album(title=request.json['title'], created_at=datetime.utcnow())]               
db_session.add(u) 
db_session.commit()

我不知道为什么..

铁拳

我相信您需要反过来做,因为按照您的方式,您正在覆盖用户的专辑列表:

coffee_album = Album(title=request.json['title'], \
                     created_at=datetime.utcnow())
u = User.query.filter(User.uid == session['uid']).first()
coffe_album.user_uid = u.uid
db_session.add(coffee_album) 
db_session.commit()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flask-SQLAlchemy:更新一对多关系

来自分类Dev

flask sqlalchemy关系中的多个外键

来自分类Dev

Flask + SQLAlchemy中一对一的设置关系

来自分类Dev

flask sqlalchemy一对一关系问题

来自分类Dev

Flask / SQLAlchemy-一对一关系语法

来自分类Dev

外键更新异常:在Hibernate一对多关系中,外键设置为null

来自分类Dev

在Flask-Admin中显示一对多关系的第一个元素

来自分类Dev

sqlalchemy一对多关系,其中相同的外键在模型中使用两次

来自分类Dev

如何在Flask SQL Alchemy中查询一对多/多对多关系?

来自分类Dev

Flask SQL Alchemy 多连接路径和一对多关系

来自分类Dev

Flask-SQLAlchemy 中的一对一关系仅以一种方式工作

来自分类Dev

在一对多关系中,外键字段为null(symfony2)

来自分类Dev

在Flask,SqlAlchemy中获得一对一关系的“ insert_id”

来自分类Dev

使用LINQ从一对多关系访问外键

来自分类Dev

SQLite一对多关系设置/获取外键

来自分类Dev

防止一对多关系中多余的外键列

来自分类Dev

NHibernate单向一对多关系不保存外键

来自分类Dev

一对多关系表的主键或外键

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

Flask-Sqlalchemy 3种多对多关系

来自分类Dev

Flask-Sqlalchemy,多对多关系中的辅助表的主键

来自分类Dev

我应该使用flask sqlalchemy多对多关系吗?

来自分类Dev

Flask-SQLAlchemy筛选与父模型的多对多关系

来自分类Dev

如何使用flask-sqlalchemy多次插入多对多关系?

来自分类Dev

Flask-Sqlalchemy,多对多关系中的辅助表的主键

来自分类Dev

Jsonify Flask-SQLAlchemy Flask中的多对一关系

来自分类Dev

SQLAlchemy + Flask多对一关系

来自分类Dev

SQLAlchemy与复合外键结合(使用flask-sqlalchemy)

Related 相关文章

  1. 1

    Flask-SQLAlchemy:更新一对多关系

  2. 2

    flask sqlalchemy关系中的多个外键

  3. 3

    Flask + SQLAlchemy中一对一的设置关系

  4. 4

    flask sqlalchemy一对一关系问题

  5. 5

    Flask / SQLAlchemy-一对一关系语法

  6. 6

    外键更新异常:在Hibernate一对多关系中,外键设置为null

  7. 7

    在Flask-Admin中显示一对多关系的第一个元素

  8. 8

    sqlalchemy一对多关系,其中相同的外键在模型中使用两次

  9. 9

    如何在Flask SQL Alchemy中查询一对多/多对多关系?

  10. 10

    Flask SQL Alchemy 多连接路径和一对多关系

  11. 11

    Flask-SQLAlchemy 中的一对一关系仅以一种方式工作

  12. 12

    在一对多关系中,外键字段为null(symfony2)

  13. 13

    在Flask,SqlAlchemy中获得一对一关系的“ insert_id”

  14. 14

    使用LINQ从一对多关系访问外键

  15. 15

    SQLite一对多关系设置/获取外键

  16. 16

    防止一对多关系中多余的外键列

  17. 17

    NHibernate单向一对多关系不保存外键

  18. 18

    一对多关系表的主键或外键

  19. 19

    Flask SQLAlchemy关系

  20. 20

    Flask SQLAlchemy关系

  21. 21

    Flask-Sqlalchemy 3种多对多关系

  22. 22

    Flask-Sqlalchemy,多对多关系中的辅助表的主键

  23. 23

    我应该使用flask sqlalchemy多对多关系吗?

  24. 24

    Flask-SQLAlchemy筛选与父模型的多对多关系

  25. 25

    如何使用flask-sqlalchemy多次插入多对多关系?

  26. 26

    Flask-Sqlalchemy,多对多关系中的辅助表的主键

  27. 27

    Jsonify Flask-SQLAlchemy Flask中的多对一关系

  28. 28

    SQLAlchemy + Flask多对一关系

  29. 29

    SQLAlchemy与复合外键结合(使用flask-sqlalchemy)

热门标签

归档