草庐IT

多对多

全部标签

python - Django 模型——多对多中的至少一个

如何确保至少设置了一个多对多关系?例如:如果我有一个listing模型,它有一个image字段,与images存在多对多关系。如何保证至少设置一张图片奖励问题:如果最小值不是1怎么办?最大值呢? 最佳答案 您可以实现一个函数来检查Listing实例是否至少有一个图像实例,并将该函数连接到Listing模型的pre_savesignal。它会是这样的,(假设你使用的是django1.3)fromdjango.db.models.signalsimportpre_savefromdjango.dispatchimportreceiver

python - 如何在 SQLAlchemy (ORM) 中为 3 个表建立多对多关系模型?

我对SQL很陌生,对SQLAlchemy完全陌生,但有一个即将使用两者的项目。所以我想我写点东西让自己舒服点。由于宿醉,我决定写一些东西来跟踪酒精含量。我有事件,用户参与并消费饮料。这是我的三个基本表(有一个帮助表gueSTList,用于users和events之间的m:n关系)。drinks始终向所有用户列出所有事件可用的饮料(无需映射任何内容)。用户是不时创建的,事件也是如此。所有用户都可以加入所有事件,因此我使用gueSTList表来映射这些事件。现在进入问题的核心:我需要跟踪哪个用户在哪个时间喝了哪种饮料。我尝试用另一个表shots来解决这个问题(见下文),但我不确定这是否是一

python - SQLAlchemy - 与额外列的自引用多对多关系

我有一个代表用户的模型,我想在用户之间建立一种关系,表示他们是friend。我的带有关联表和列出所有friend的方法的功能模型如下所示friendship=db.Table('friend',db.Column('id',db.Integer,primary_key=True),db.Column('fk_user_from',db.Integer,db.ForeignKey('user.id'),nullable=False),db.Column('fk_user_to',db.Integer,db.ForeignKey('user.id'),nullable=False))cla

python - 尝试设置多对多关联对象时 backref 上的关键错误

我正在尝试使用sqlalchemy建立基本的多对多关系,但无法确定我做错了什么。本质上,我有一张用户表和一张报价表(基本上,类似于Groupon)。用户可以响应多个优惠,优惠可以发送给多个用户。我一直在使用sqlalchemydocs的这一部分但显然我做错了什么。这是我的代码的相关部分:classOffer(db.Model):__tablename__='offers'id=Column(Integer,primary_key=True)title=Column(String)description=Column(String)users=association_proxy('use

python - 在多对一格式的 django 模型中有多个用户作为一个模型字段

我想创建一个极简任务管理应用程序来学习Django的基础知识。所以会有Projects,Tasks和Users作为三大实体。一个项目可以有多个用户一个项目可以有多个任务一个任务可以分配给一个用户我无法弄清楚如何从Project->Users使用django.contrib.auth.models.User作为我的用户源来做多对一。这是我目前所知道的,但我知道这是错误的,我无法理解它。我试图将其他问题联系起来,例如与竞赛相关的问题和与StackOverflow上的漏洞URLS相关的问题。我不确定我是否必须编写自己的用户模型,或者以某种方式扩展它。classProject(models.M

python - 经历多个多对多关系的Django ORM方式

亲爱的,努力帮助别人的人,我想弄清楚如何在不编写自定义SQL的情况下让Django为我执行连接。假设我有以下模型classParent(models.Model):name=models.CharField()children=models.ManyToManyField(Child,through="Parent_Child",related_name="parents")classParent_Child(models.Model):parent=models.ForeignKey(Parent,related_name='attached_children')child=mode

python - Django 查询多对多子集包含

有没有办法查询包含多对多字段的子集或超集?假设每个人都有一个他们想看的鸟的列表,每个Aviary都有一个鸟列表。对于给定的Person实例,我如何进行查询以查找人员列表中的everybirdAviaries?同样,对于给定的Person实例,我如何找到哪些Aviaries只有个人名单上的鸟(但不一定是所有鸟)。这是我的Django1.5模型:classBird(models.Model):name=models.CharField(max_length=255,unique=True)classAviary(models.Model):name=models.CharField(max

python - 自引用多对多 flask-sqlalchemy

我这辈子都弄不明白为什么这种self参照的多对多不快乐:minor_contains=db.Table('minor_contains',db.Column('parent_id',db.Integer,db.ForeignKey('minors.id'),primary_key=True),db.Column('contains_id',db.Integer,db.ForeignKey('minors.id'),primary_key=True))classMinor(db.Model):__tablename__='minors'id=db.Column(db.Integer,pr

python - Django Rest Framework 3.0 : Saving Nested, 多对一关系

我正在尝试使用DjangoRestFramework3.0构建嵌套关系。我已经创建了序列化器并试图覆盖create()函数。我的模型定义如下:classItem(models.Model):user=models.ForeignKey(settings.AUTH_USER_MODEL)name=models.CharField(max_length=200)description=models.CharField(max_length=1000)categories=models.ManyToManyField(Category,null=True,blank=True)classPr

python - Flask-SQLAlchemy 过滤与父模型的多对多关系

我有一个父模型,几个不同类型的项目通过外键用作它们的父模型。我在父模型上也有多对多关系。我正在尝试基于查询多对多模型来获取子模型。这是父模型classMediaItem(db.Model):__tablename__="media_item"id=db.Column(db.Integer,primary_key=True)title=db.Column(db.String,unique=True)tags=db.relationship('Tags',secondary=tags_joiner,backref='media_items')videos=db.relationship('