问题标签 [generic-foreign-key]

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.

0 投票
1 回答
646 浏览

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.pyatget_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因此代码中断。

有没有其他人也遇到过这样的错误和/或可以帮助我修复它?请帮忙!

回溯如下:

0 投票
1 回答
3324 浏览

django - Django 通用外键

我有一个带有两个 modelForms 的表单。其中一个具有另一个的通用外键。保存表单时出现以下错误。

这是我的代码。

这是我保存表格的地方

错误发生在这一行

有人能告诉我我在这里想念什么吗?

0 投票
1 回答
3383 浏览

python - 如何使用 Django Rest Framework 序列化泛型关系

我在模型上使用通用关系并尝试使用 Django Rest Framework 对其进行序列化。但是,执行以下操作会给我一个属性错误:

模型.py

序列化程序.py

我究竟做错了什么?我在 django rest 框架文档中找不到太多关于此的内容。

0 投票
1 回答
1185 浏览

python - DJANGO - 使用 rest 框架在 POST 方法上使用 genericforeignkey 保存数据

我想在我的数据库中保存一个“反馈”对象的实例,反馈对象有一个“客户”的外键和一个通用的外键,因为它可以与“供应商”或“商店”相关,我制作了 2 个允许POST,一个为供应商创建反馈,另一个为商店创建反馈,都接收主键。

类图示例: 类图

这是我的方法:

序列化程序是有效的,但是在尝试保存时给我以下错误:

发生这种情况是因为反馈对象的 genericforeignkey 不为 NULL:

我如何创建一个关于 POST 方法的反馈对象?

这是请求的示例feedback/store/(?P<store_id>\d+)/

0 投票
1 回答
834 浏览

python - 在 Django 中设置通用外键,同时仍然理智

我试图设置通用外键,我正用头撞墙。我将尽可能多地发布代码,我会在一小时内再试一次。

我已经阅读了文档一百万次,但似乎没有帮助。

在我看来,这就是我正在做的事情。

表格都是ModelForms(为了方便使用,所以我可以使用保存功能)。他们看起来像这样

我的相关课程看起来像这样

这一切看起来都很简单,但 content_type、object_id 和 content_object 不想玩。我想要做的是创建 Comment Data 表单的实例并将其分配给 content_object 类型。我最终得到了一个流和评论数据的实例,其中 content_object 不返回任何内容(据我所知,使用 HttpResponse)并且 content_type 和对象 id 都未设置。

有什么明显/愚蠢的错误吗?

0 投票
1 回答
179 浏览

python - 基于 GenericForeignKey 的字段的查询过滤器

这是简化的问题,我有一个 Book 模型:

我正在使用django-hitcount来计算我的 Books 的视图(可能没有人知道它,因为它是一个旧项目),无论如何让我粗略地总结一下:它创建一个 HitCount 对象,其中包含一个命中计数器和一个对应对象的 GenericForeignKey。

我想获得 15 种具有更多点击量的某种语言的书籍,显然是按点击量排序的。

我已经看过这个问题,它帮助我找出了我的(部分)解决方案,分为 3 个查询:

  1. 获取某种语言的所有图书ID;
  2. 获取同样在第一个列表中的前 15 个 HitCounts related_object 的 ID;
  3. 获取步骤 2 中获取的 ID 的书籍;

翻译成代码:

这种方法存在两个问题:

  1. 对于大型数据库(如我的),第二个查询变得非常昂贵;
  2. 在最后一个查询中,我通过第二个查询的命中而丢失了订单;

有人有建议吗?

0 投票
1 回答
234 浏览

mysql - PHP SQL检查整个数据库的参照完整性

我想知道是否有一个选项可以在不手动检查所有内容的情况下检查我的数据库的引用完整性。我必须提到,我对 SQL 完全陌生,并且有任务检查引用完整性。

通过搜索,我发现了这个问题: 如何找到违反参照完整性的记录

这已经很有帮助,但是我得到了很多表,我想知道是否有比以我发现的问题的格式编写数百个查询更快的方法。

谢谢你的帮助,Yu

编辑:我知道大多数数据库会自动检查,但我是学生,任务说“这些脚本应该说明数据库的更新和引用完整性。!请明确指出检查引用完整性的位置(添加行,修改行,删除行)。”

所以我想我必须手动检查它。

0 投票
1 回答
1774 浏览

python - Django Admin 中的通用关系/通用外键

我一直试图GenericForeignKey在 Django 管理员中显示 a 但无法正常工作。我有一个FullCitation可以链接到一个NonSupportedProgram或一个类的SupportedProgram类。所以,我使用了通用外键。

在管理员中,我希望用户只能从下拉列表中进行选择'NonSupportedProgram',然后,从字段中,我需要用户能够从列出现有s 或现有s 的下拉列表中进行选择,并可以选择创建一个新的一个。这可能吗?我哪里错了?'SupportedProgram'content_typeobject_idNonSuportedProgramSupportedProgram

模型.py

管理员.py

0 投票
1 回答
1787 浏览

python - Filter Generic Foreign Key

Is there a more "Python/Django" way to query/filter objects by generic foreign key? I'm trying to get all FullCitation objects for a particular software, where is_primary is True.

I know I can't do this but I want to do something like this:

models.py

views.py # My current attempt

0 投票
2 回答
2451 浏览

django - Django Admin 中的通用外键

GenericForeignKey是否可以在 Django 管理员中按对象标题进行过滤?

我想按程序名称过滤,NonSupportedProgram.title或者SupportedProgram.titlelist_filter = (SOME FIELD HERE)),但不知道怎么做?

模型.py