问题标签 [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 投票
0 回答
345 浏览

python - Django 创建一个带有 SmallUUIDField() id 的 genericForeignKey

这是我的模型,它使用通用外键 im 使用 SmallUUIDFieldpos_idobject_id

POSRecord.objects.get_or_create()方法上,我将从 squareup 的 api 获得的 id 传递给密钥object_id,我得到ValueError: bytes is not a 16-char string. 我试图将POSRecord模型pos_id值更改为models.PositiveIntegerField()但随后出现此错误。ValueError: invalid literal for int() with base 10: 4JSZ539TSJ5GEIMW43FFNQXF

0 投票
1 回答
554 浏览

django - 是否有替代使用通用外键来处理类似模型树的方法?

我的场景:我正在尝试建立一个数据库来跟踪不同类型节目的制作时间表。我已经使用以下模型结构进行了映射。

但我现在也对跟踪电影的制作感兴趣。但这提出了一个挑战,因为电影没有与电视相同的树结构。像这样的东西会更合适:

这里的问题是电影ProductionStudio电视(至少在这种情况下)完全相同,所以我很犹豫是否拥有完全独立的树,因为这需要复制Production. 一个用于电视,一个用于电影,唯一的区别是外键。

在这里使用 a 有意义GenericForeignKey吗?一个产品可以指向一个EpisodeMovie?我对此犹豫不决,因为听起来共识是避免使用通用外键,但我不知道该怎么做。

0 投票
1 回答
337 浏览

python - 用于跟踪用户流的数据库设计

在此处输入图像描述 在此处输入图像描述

我想设计一个不同模型之间的用户跟踪系统。有一个与部分相关的模块表,部分与子部分相关。每个子部分可以与不同的独立表相关。独立的表格存储不同的项目(幻灯片、视频、文本),用户可以像 Coursera 课程一样以线性流的方式完成这些项目。流程将由我们预先确定,但我们可以更改。因此,子部分之间的线性流不能被硬编码。我还需要通过这些子部分跟踪用户的进度。

例如:

子部分可以指向将存储 user_info、game_score、game_completion_date_time 的游戏表,或者可能存在子部分指向存储 slide_text、slide_url 和 user_info 的幻灯片表的情况。

我想跟踪这些表中的变化,所以我的方法应该是什么。下面我发布了一张我正在解决问题的图片。

0 投票
0 回答
304 浏览

python - 允许用户查看他们播放特定曲目的次数的 Django 对象

用户购买一首独特的歌曲。每次他们播放歌曲时,他们在该歌曲中的独特歌曲数量都会增加。Django 允许这样做吗?

有人告诉我使用 through 阅读有关外键和 m2m 的 django 文档。我没有得到我想要的结果。将不胜感激指出我正确的方向。

我只想让用户查看他们播放歌曲的次数,并且每次能够将歌曲计数更改一个增量。我希望能够看到 u1 = profile.objects.get(user = user) print(u1."Song_One".plays) 输出 4. (u1."Song_Two".plays) 输出 1. 让另一个用户 u2 执行同样的事情 u2."Song_One".plays output = 10 等等。我希望我能正确解释这一点。

0 投票
1 回答
2021 浏览

django-models - AttributeError:“GenericForeignKey”对象没有属性“null”

当我在包含通用外键的模型上尝试任何方法(删除、保存等)时,我遇到了一个非常奇怪的错误。我的模型可以容纳不同类型的卡片类型,以及处理它们的工作:

所以像这样的操作:

或者

将因此类错误而失败。

我应该提到我在卡片模型中放置了两个 GenericRelation,但即使删除它们也不会改变最终结果:

0 投票
1 回答
399 浏览

python - update_or_create 的 Django GenericRelation

我在使用GenericRelationwith 时遇到问题update_or_create。我有以下型号:

我尝试LockCode使用任务作为密钥来创建或更新:

我有FieldError: Field 'context' does not generate an automatic reverse relation and therefore cannot be used for reverse querying. If it is a GenericForeignKey, consider adding a GenericRelation.

当我明确使用 context_id 和 context_type 时,它​​可以工作:

我的配置有问题吗?或者它只是 GenericForeignKey用于 update_or_create 的单一方式?

0 投票
2 回答
516 浏览

django - Django GenericForeignKey 与一组 ForeignKey

我想讨论一下使用 GenericRelation 和 GenericForeignKey 的情况。

我有 2 个模型,Appartement 和 Mission。我需要创建将连接到 Appartment 或 Mission 的 LockCode 模型。我已将 GenericForeignKey 添加到 LockCode 和 GenericRelation 到 Appartement 和 Mission:

它工作正常。但是增加了复杂性级别来比较添加 2 个外键,用于公寓和任务。

那么我应该保留GFK还是使用2个简单的FK?

0 投票
0 回答
49 浏览

python - Django GenericForeignKey 不应该被删除

我遇到了一个问题,如果我删除一个对象,另一个对象似乎被错误地删除了。

模型.py

现在,如果我这样做

我收到了一个与 Invoice 相关的 BalanceUpdate,也被删除了。

经过大量调试后,我发现在删除 Invoice 时,文档正在被删除(由于定义的 GenericRelation 是正确的)。

如果我们查看Collector.collect,我们有一个递归函数,用于收集要删除的对象。

如果我在此处插入打印,当模型为 Document 时,sub_objs 包含 BalanceUpdate 对象。怎么会这样?Document obj 肯定应该有包含 BalanceUpdate 的 sub_objs,它们似乎没有链接?

提前喝彩。

0 投票
1 回答
229 浏览

django - Django 使用 ForeignKey 模型在基于类的视图中显示额外内容

我正在尝试将额外的内容添加到模板的 Djangos 基于类的视图中

我有一些这样的模型

在模板的后期

如何使用 ForeignKey 在模板中显示地区名称列表和作者姓名列表?

0 投票
1 回答
108 浏览

django - django.db.utils.IntegrityError: - 错误仍然存​​在

这个问题已经在这里讨论和回答,但是这个错误对我来说仍然存在。由于我没有足够的声誉,我还不能在讨论中发表评论。

我已按照响应删除on_delete=models.SET_DEFAULTdefault=1运行初始迁移,但是收到以下错误:

我假设它需要 'on_delete' 字段,并且已经尝试过on_delete.PROTECT and CASCADE,但是这会带来原始错误:

我正在使用 Django 2.2.9,任何有关如何设置外键的帮助将不胜感激。

谢谢!