问题标签 [django-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.

0 投票
1 回答
62 浏览

python - 如何制作多种类型的模型并在 Django 中使用相同的名称引用它们?

我是 Django 的新手。我想要账户和交易的功能。账户可以有三种类型的交易。收入、费用和转移。它们之间都有一些共同的领域。但也有一些额外的领域。我想知道我可以制作这样的模型,以便我可以访问帐户的所有交易。而且我也想在休息框架中使用它们。有可能这样做吗?

0 投票
2 回答
171 浏览

python - 如何在 django CBV 中使用 CreateView 创建对象后获取对象

我正在尝试创建一个通知系统来跟踪我的用户的所有活动。为了实现这一点,我创建了两个模型,贡献模型和通知模型

每次用户在 Contribution 表中创建对象时,我都想创建一个 Notification 对象,但是在获取从 CreateView 创建的对象时遇到了一些困难

我怎样才能完成上述任务?他们是使用 mixins 的一种方式吗?

0 投票
0 回答
106 浏览

python - django-rest-framework 中的通用关系序列化

你能帮我解决Django rest框架中的泛型关系的序列化问题吗?我需要获取 SWOT 对象的数据,包括公司及其所有评论。我在检索属于通用字段的评论时遇到问题。

模型.py

视图.py

序列化程序.py

我试图实现文档中示例中的代码,但我解决了错误。我不知道为什么对象的类型是Comment而不是 SWOT。

错误

你能告诉我我能做些什么来使这段代码像在文档中一样工作,或者像文档建议的那样提出另一种解决方案,比如常规的关系字段。

请注意,使用 GenericRelation 字段表示的反向通用键可以使用常规关系字段类型进行序列化,因为关系中目标的类型始终是已知的。

先感谢您。

0 投票
0 回答
24 浏览

python - 保存内部事务原子时,使用通用关系保存模型会引发异常

我有这个模型,我可以节省应该在稍后阶段计费的费用。由于几个模型可以产生费用,我建立了一个通用关系。

我有一个生活在芹菜任务中的函数,它准备将数据保存到所述模型中:

如果我尝试使用 transaction.atomic() 保存模型,我会收到一条错误消息,说明'NoneType' object has no attribute 'pk'. 如果我省略 transaction.atomic() 语句,一切都会按预期保存。我几乎尝试了一切,但到目前为止没有成功。所有输入参数都采用模型期望的格式,正如我所说,没有 transaction.atomic() 保存工作。尽管如此,忽略错误消息,我还是觉得很不舒服。

知道这里发生了什么吗?

PS:我没有在目标模型(我正在测试的模型)上设置 GenericRelation,并且在运行 makemigrations 时,GenericRelation 无论如何都没有列出(这也让我感到困惑)。

我使用 Django 3.2 版和 PostgreSQL 作为数据库。

0 投票
0 回答
52 浏览

python - 与许多模型相关的 Django ContentType

我正在研究假设与许多不同模型相关的模型,但一个实例应该只与其中一个模型相关。像模型响应一样,它应该存储在字段上解析的响应主体,但是这个响应可以来自具有不同字段集的不同站点。

通过 SO 搜索我发现使用 django GenericRelation 是一个很好的方法,所以我尝试如下:

对于这些模型,我想做这样的事情:

但它是扔的django.db.utils.IntegrityError: null value in column "content_type_id" violates not-null constraint

像“Add null=True”这样的解决方案(在这里Django Make ContentType Not Required)不是我所期望的,因为我希望这种关系成为,而不是摆脱错误本身。

根据https://docs.djangoproject.com/en/3.2/ref/contrib/contenttypes/它应该可以正常工作,但我想我错过了一些东西。

我尝试将此添加到 ServiceOne 和 ServiceTwo

但它没有给出任何不同的结果。

0 投票
1 回答
71 浏览

python - Django - 通过related_query_name 获取对象

我的 models.py 中有以下模型,用于在我的数据库中存储特定对象的流派信息,例如电影:

在我的电影模型类中,我有以下字段将两个模型相互连接:

例如,在我的 views.py 中,我想查询特定类型的“喜剧”和“家庭”电影,但我没有得到任何结果:

能 帮助?

0 投票
1 回答
85 浏览

django - Cascade delete of model with GenericForeignKey without using GenericRelation

I'm creating a reusable django app which includes a model with GenericForeignKey which I need to be cascade deleted.

This model may be attached to any other. I have no control over target model class as it is outside of the app. This means I can not add GenericRelation field to it and can't force user to add it as target might be in another third-party app.

Assuming we have such models (having NO control over Post and PostGroup):

Is there a way to delete Tag in case of PostGroup queryset is being deleted?

E.g. not only post_group.delete() but also PostGroup.objects.delete().

0 投票
1 回答
37 浏览

django - 如何在 DJango 中使用不同模型的外键

我对这个问题很感兴趣,并在在这里问这个问题之前寻找一些解决方案。假设我有一个Model在不同的领域共享相同领域的领域,Models我该如何实现这一点,当我得到objects那些Models我可以包含的领域时Model foreign key,我确实尝试使用Generic Relationin来实现这一点,DJango但它并没有解决我的问题。

这是我要使用的示例Generic Relation

因此,当我尝试从中获得时,我该objects如何Model(n)实现或获得SameObjectModel

我有这个想法,我可以这样做:

似乎这不是一个好主意,因为我不知道应该放在哪里,related_name因为外键是content_type模型并且有object_id代表字段primary_key

0 投票
1 回答
42 浏览

django - django-comments 包中的“评论”如何与“文章”相关联?

在 Django 自己的评论框架django-contrib-comments中,如果我创建自己的评论模型如下:

问:我应该如何将这个新的评论模型 ( MyCommentModel) 与现有Article模型相关联?使用属性content_typeobject_pkcontent_object

0 投票
1 回答
48 浏览

python - 如何在 Django 中将第 3 方模型和视图与自己的模型链接起来

我成功地为我的项目实施了django-contrib-comments,并开始逐步调整它,使其 100% 适合我的项目。现在我有以下我无法解决的问题:

我有一个模型Poller,它为模型中存储的任何用户提供两个可能的投票Vote。现在,如果用户对轮询器发表评论,我想将他对该特定轮询器的个人投票返回给模板中呈现的评论。

由于我不想以任何方式触及第 3 方的架构,因此我更愿意在我看来获得所需的查询集。

django-contrib-comments 包的评论模型

我的投票器、投票和帐户/用户模型

长话短说,我如何访问每个发表评论的用户的投票模型以确定他选择了哪一票?也许通过子类化CommentAbstractModel并向模型添加外键Vote