- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个模型:Post
和 Comment
,每个模型都可以被 User
点赞。
当然,应该在每个 Post
或 Comment
而且每个用户
都应该有一个包含所有喜欢的内容的页面。
所以,最明显的方法就是使用 m2m 字段,这似乎会在将来导致很多问题。
那这个呢?
Post
和 Comment
模型应该有一些
users_liked_ids = ArrayField(models.IntegerField())
User
模型也应该有这样的字段:
posts_liked_ids = ArrayField(models.IntegerField())comments_liked_ids = ArrayField(models.IntegerField())
每次 User
喜欢某样东西时,都会执行两个操作:
用户的 id 添加到帖子/评论的 users_liked_ids
字段
帖子/评论的 ID 添加到用户的 posts_liked_ids/comments_liked_ids
字段
问题是:
这个计划好吗?
在这种方法中进行查找以获取“该帖子/评论是否被点赞但当前用户是否有效”
将喜欢存储在一些单独的表中会更好,而不是在喜欢的模型中,但也在 ArrayField
留在明显的 m2m 中可能更好?
最佳答案
1) 编号
2) 绝对不是。
3)绝对,难以置信。不要进一步拆分您的数据。
4) 是的。
以下是一些问题:
在任何情况下都不要这样做。您可能希望结合“发布”和“评论”模型来简化关系,但这就是联结表的用途。数组适用于不涉及外键或可能出现极端长度的用例。
关于django - 性能:在 PostgreSQL ArrayField 中存储点赞(Django 示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50275903/
我想使用数组字段来存储代表特定自定义类的 json 字符串列表。我所做的是: from django.contrib.postgres.fields import JSONField, ArrayFi
是否可以为 ArrayField 添加默认值? 我尝试为电子邮件字段执行此操作,但这不起作用: 常量.py: ORDER_STATUS_CHANGED = 'order_status_changed'
我正在使用 Django Postgres ArrayField response_headers = ArrayField(models.TextField(blank=True),blank=Tr
我有一个简单的模型 class Texts(models.Model): instructions_top_char instructions_top_char = ArrayFiel
我正在将 PostgreSQL 与 Django 一起使用,并且正在尝试使用 ArrayField(CharField()) 存储值和检索都不会引发任何异常,但尝试存储 ["string", "ano
我有以下错误信息: AttributeError: 'module' object has no attribute 'ArrayField' 相关代码段如下: from __future__ imp
我有一些用户帐户的字段为“donation_methods”。用户可以选择不同的方式来接受捐赠。默认情况下,每个用户都应该在数组中具有值“cash” donation_methods = ArrayF
ArrayField 的当前管理小部件是一个字段,以逗号作为分隔符,如下所示(文本列表): 这并不理想,因为我会有更长的文本(甚至 20 个单词)并包含逗号。我可以 change the delimi
我有一个类型 ArrayField在一个模型中。 my_list 的建议元素列表中的后端自动地。但是,用户随后需要根据需要更新此列表。该模型如下所示: class my_model(models.Mo
我正在使用 Django 的 postgres ArrayField。 假设我有这样一个模型: from django.db import models from django.contrib.pos
为了解决我的(有点特殊的)问题,我发现我必须使用 Django ArrayField: https://docs.djangoproject.com/en/2.1/ref/contrib/postgr
在我的 Django 应用程序中,使用 Postgresql,我有一个带有 CharFields 的 ArrayField 的模型。我想知道是否有一种数据库方法来聚合并获取表中所有字符串的列表。例如:
对于我数据库中的模型,我需要为特定字段存储大约 300 个值。如果我使用特定于 Postgres 的 ArrayField,在性能 和查询简单性 方面会有什么缺点?而不是具有一对多关系的单独表? 最佳
我需要配置一个 django.contrib.postgres.fields.ArrayField,其中第一个元素是 float ,第二个元素是一个小的正整数: data = [[1.23, 3],
我正在尝试更改 Django 为 ArrayField 生成的默认错误消息(特别是输入了太多项的错误消息) 如果用户在我的 ArrayField 中输入了太多项目,则会在模板中生成以下消息: List
我的模型看起来像这样: from django.contrib.postgres.fields import ArrayField class Trigger(models.Model): s
下面的案例 [{type: x, val: y}, {...}, {...}, ...] 可以单独用 JSONField 表示。 还有下面的案例 [1,2,3,4,5] 可以用 JSONField 表
我有一个通常看起来像这样的模型: class CategoryModel(models.Model): categories = ArrayField(..) 假设我有两个类别,“catego
我有一个定义的模型 from django.contrib.postgres.fields import ArrayField class Model(models.Model): name
我有一个定义的模型 from django.contrib.postgres.fields import ArrayField class Model(models.Model): name
我是一名优秀的程序员,十分优秀!