问题标签 [generic-relations]
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 - Django 删除 GenericForeignKey
我正在尝试按照本教程实施活动提要。
当相应的对象(即评论本身)已被删除时,我想删除一个活动(即已添加评论)。这似乎没有级联。
有没有办法在不添加 GenericRelation 的情况下实现这一点?可以使用 postdelete 信号删除相应的活动。这是最好的方法吗?
django - 带有图像和外键的 Django 1.5 ModelForm 像管理员一样
我有以下型号:
我希望能够在我的前端视图/surfboard/add 中拥有与管理员相同的表单:
作为一个新的 Django 粉丝和用户,我开始从头开始创建表单。无法通过将外键“quiver”包含在下拉列表中来做我想做的事,我在文档中找到了 ModelForm,并决定使用它,所以我得到了:
在我看来,它看起来像这样,它已经是一个好的开始:
所以现在,我想要一种同时添加图片的方法,它们通过通用关系链接到冲浪板。在这里,我找不到像在管理员中那样执行实现的方法,并且感到沮丧。有什么建议吗?
谢谢!
django - 如何编写 django-rest-framework 序列化器/字段来合并通用关系中的数据?
我有具有指向各种其他对象的通用关系的对象,我需要将它们合并(内联),以便序列化的对象看起来像一个完整的对象。
例如:
序列化时,我想得到这样的东西:
我可以这样做吗?如果可以,怎么做?
我可以嵌套一个通用关系,我可以对 serilizer.data 进行后期处理以获得我想要的,但我想知道是否有更好的方法。
django - Django:一个模型中的多个通用关系是糟糕的设计吗?
我有一个具有多个通用关系的模型,在我的模板中使用它变得非常复杂。该模型是在“场地”和/或“音乐节”上举行的“演出”或音乐活动,并具有“音乐家”和/或“合奏团”。
复杂的地方在于,每个“演出”都有一个主持人、发起人和代理人。这些被设置为与其他模型(例如“PresenterCompany”)的通用关系。演示者公司可以是同一演出的发起人、演示者或代理,或所有这些人。以下是模型(为参考简化):
主要问题是,当我尝试为演示者公司获取所有演出时,我必须为每个角色编写三个不同的 for 循环,即 {% for gig in presentercompany.presented_gig.all %},等等......这似乎是多余的代码。
有没有更好的方法来构建它,例如为演示者、发起者和代理使用中间模型?谢谢你的建议!
django - 跨 Django 的复杂查询反向通用关系:可能吗?
我有以下Image
课程GenericRelation
:
我正在尝试获取具有某些属性的所有图像,所以我这样做:
但这会导致以下错误:
不能这样查询吗?我能做些什么作为替代方案?
django - Django 通用外键过滤(v1.5 和 v1.6 之间的区别)
我有以下概念模型:
在 Django v1.4 和 Django v1.5 中,以下查询可以正常工作:
它产生的 SQL (sqlite) 看起来像:
但是在 Django 1.6 中,查询失败并出现 FieldError:
发行说明中的以下声明可能是相关的:
Django 1.6 包含对 ORM 的许多更改。这些变化主要分为三类:
- 错误修复(例如,通用关系的正确连接子句、查询组合、连接提升和连接修剪修复)
我的问题是,Django 1.6 中的哪些变化导致了它的崩溃?我是否坚持extra
在 Python 中使用或执行这种类型的过滤?
python - 如何过滤通用外键?
我有这些模型:
EventEntry 类用于将日程安排信息附加到任何对象,例如会议和里程碑。
ObjectPerm 类为需要保护的任何模型提供对象级权限。
当我创建一个会议实例时,我为日程信息分配了一个 EventEntry 实例。我还分配 ObjectPerm 实例来指定哪些用户可以访问会议对象。
还有更多模型,例如 Meeting 和 Milestone。
现在,我要做的是检索 EventEntry 实例,但仅检索用户有权访问的相关对象的实例,基于 ObjectPerm 模型。
例如,public == True 或用户位于 EventEntry 字段“用户”中的所有 EventEntry 实例。这样我可以提取所有事件以显示在日历中,但我不需要过滤会议、里程碑等。除了我不知道如何使用 Django 的 ORM 在 Python 中编写这个过滤器。
python - 带有 Django REST API 和 generic_relations 的 ValidationError 用于通用外键可写访问
我正在使用 Django REST API 和generic_relations模块来创建 Django Comments 的一种变体,它不是由模板驱动,而是通过 REST API 函数。
名为 Annotation 的 Model 类如下所示:
现在,还有另一种模型,用于内容,几乎可以是任何东西,所以可以说,它是一个简单的发布应用程序:
相同的序列化程序如下所示:
现在,问题出在这一行: content_object = GenericRelatedField({ BlogContent: serializers.HyperlinkedRelatedField(view_name='annotation:blogcontent-detail'), }, read_only=False)
如果泛型关系被用作只读,通过设置read_only=True
,那么 REST API 可浏览性很好,但是当我将它切换到False
时,服务器会返回一个 ValidationError
仔细阅读日志和代码,似乎在rest_framework.renderers.py
atget_raw_data_form(self, view, method, request)
调用中找不到对象obj = getattr(view, 'object', None)
。
这反过来,在评估field_to_native
函数 as serializer = self.determine_deserializer_for_data(value)
in 时generic_relations
,会导致 as 不传递任何内容,value
因此代码中断。
有没有其他人也遇到过这样的错误和/或可以帮助我修复它?请帮忙!
回溯如下:
python - Python 获取 GenericRelation 对象
我有以下代码:
数据/电话.py:
模型.py:
不,我想提供一个功能来检索用户的每个电话号码,如下所示:
问题是,该线路print(self.telephonenumbers.all())
不打印任何电话号码,即使已经提供了很多。返回的字典也是空的。
如何访问保存在Staff
上下文中的 GenericRelation 对象?
编辑:
以下代码:
给我保存的每个电话号码,并通过tel.of
电话号码所属的正确员工用户。
那么为什么不self.telephonenumbers.all()
工作(self.user
也返回应该保存电话号码的正确用户)?
django - 模型 Mixin 中的 Django GenericRelation
我有混合和模型:
但是 django 不会将GenericRelation
字段变成GenericRelatedObjectManager
:
当我将字段放入模型本身或抽象模型时 - 它工作正常:
如何GenericRelation
在 mixin 中使用?