问题标签 [django-related-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Djano 与用户的多对多关系
这工作正常关注和取消关注
但我想使用 User 对象获取关系状态字段,以找出所有用户的状态是关注或与经过身份验证的用户相互。我不想创建循环。就像上面的关注和取消关注一样,我在里面检查了 request.user ,就像我想检查状态是相互的还是关注的
django - 如何在 Django 中选择整个中间表
在我的数据库中,我将对象之间的引用作为 ManyToMany 字段。基本上,每个对象都可以引用任何其他对象。
在 Postgres 中,这创建了一个中间表。该表有大约 1200 万行,每行大致如下:
两个问题:
选择此表的最 Django 风格的方式是什么?
有没有办法在不将整个东西拉入内存的情况下迭代这个表?如果我做一个简单的
select * from TABLE_FOO
.
django - 在 Django 中指定 backref / RelatedManager 的顺序
我目前有两个模型:
如果我想blog.entry_set
被订购capture_dt
,似乎最好的方法是Meta
在模型中添加一个类,并将Entry
订购设置为ordering = ('capture_dt', )
。
不幸的是,这现在改变了全局排序行为,Entry
而不是我从Blog
模型访问它时的排序方式。有没有办法在每个 backref 的 backref 基础上设置排序行为?
FWIW,SQLAlchemy 在声明关系时支持这一点:
django - 在模板中显示上传的图像 - Django
我正在尝试将上传的图像显示到我想象中的蔬菜目录的模板中。
我有一个页面可以添加新蔬菜并上传图片。主模板是蔬菜列表,稍后会有缩略图。
现在,在查看蔬菜的详细信息页面时,我想显示其图像,但模板仅显示字符串“VegetableImage Object”来代替图像,即使使用 img 标签也是如此。
我很困惑,因为模板显然已经找到了图像,但它们只是作为通用字符串显示。
模型.py
主模板视图(所有蔬菜的列表)和详细视图
显示蔬菜细节的细节模板
python - sweetpie save_m2m,TagRelatedManager 评估为 False
实际上,我正在尝试保存一个美味的模型资源,其中包含TagField
来自django-tagulous
这是我的模型和资源:
卷曲部分:
shell 不会返回任何错误,但是标签与新对象没有关联。
通过覆盖ModelResource save_m2m method
,在super
调用标签对象存在之前(打印bundle.data ['tags']),然后在super(SimpleModelResource, self).save_m2m(bundle)
tastepie中查找与标签字段关联的相关管理器,返回related_mngr,但是当使用以下方法对其进行评估时:if not related_mngr
它评估为True
跳过 m2m 关联。
python - Django:过滤器()在相关模型的多个实例上
我的模型如下:我有一组Dude
s,每个Dude
都有一组偏好。Dude
我可以根据他们的单一偏好轻松找到s,但我需要找到那些更喜欢两种不同事物的人。我试图将两个Q
对象传递给filter()
函数,但在生成的 SQL 中,这两个Q
对象引用相同的相关Preference
. 我希望他们指的是两个不同的Preferences
. 更糟糕的是,我需要查询相关模型(= Preference
)的几个属性,所以我不能使用 simple __in
。
模型:
测试用例:
澄清:我不想找到喜欢奶酪或培根的家伙,我需要同时满足这两个条件的人。
python - 在 Django ORM 的单个请求中获取一个相关对象
我有这个模型
我想获取所有书籍并检查当前用户是否喜欢单个请求中的每本书
Book.objects.select_related('like_book').all()
由于许多结果而无法工作
Book.objects.prefetch_related('like_book').all()
将缓存like_set
,但它会包含这本书的所有喜欢。不仅为这个用户一个。
最后我想有额外的领域is_liked
django - 相关模型上的 Django 注释
拥有这些模型(简化):
在某些情况下,我需要获取一份食谱列表,在每种成分上标记,“无论用户是否拥有该产品。”。并且,根据给定的用户,可能还有其他计算字段。我想要的例子:
但是,当然,在其他情况下,我不希望该字段附加到成分上。
我知道我需要自定义管理器。但直接的解决方案 - 将“is_user_have”作为属性添加到成分模型,使用 get_for_user 方法定义自定义管理器,调用基本 get_queryset,然后在 for 循环中填充该字段 - 不起作用。
更新 1
我想出了如何获得我想要的注释,这是我的成分自定义管理器:
但是有两个问题:
- 我无法将用户传递给此经理(其硬编码用于测试)
- 当我想要此注释时,我无法为情景创建代理模型(见下文),它仅在我替换成分模型上的默认管理器时才有效。
此代码不起作用,因为使用了成分默认相关管理器:
它仅在我替换成分模型上的默认管理器时才有效(但这不是我想要的):
python - 在 Django 中可以使用这种多对多关系之前,对象需要具有字段“id”的值
我的models.py中有以下代码:
当我尝试从管理面板创建文章时,我收到以下错误:
我该如何解决这个问题?在保存文章之前,我需要访问和迭代标签。谢谢!