【发布时间】:2019-09-29 03:21:54
【问题描述】:
我正在使用 django rest 框架开发 REST API。现在我想制作一个功能来将一些广告标记为收藏。以下是我的一些想法:
- 创建新模型收藏夹,包含用户 ID 和广告 ID。因此,移动应用程序将从表中获取它们。然而,制作只包含外键的表看起来不适合架构。
- 在用户模型中添加数组字段,并在其中保存广告ID。尝试使用 postgres-extensions 中的 ArrayField,但我不断收到与“form_size”相关的类型错误。即使我从迁移文件中删除了“form_size”,如 here 所示,我得到 502 错误。
那么,我应该继续使用 ArrayField 并尝试修复该错误吗? 或者用 2 个外键创建表看起来还不错?
如果有人遇到“form_size”类型错误,请帮助我。
谢谢。
更新 1。 这是用户表中的收藏夹字段
favorites = ArrayField(
base_field=models.CharField(max_length=50), default=[], blank=True,
)
我正在导入这些:
````from django.contrib.postgres.fields import ArrayField
UPD 1.
【问题讨论】:
-
只包含外键的表没有任何问题。并且实施将更加简单和安全。阵列版本可能会在大规模上表现更好,但这不太可能相关。
标签: python django api-design