书签实现逻辑django

Bookmarks implementation logic django

我正在使用 django rest 框架开发 REST API。现在我想做一个功能来将一些广告标记为最喜欢的。以下是我的一些想法:

  1. 创建新模型收藏夹,包含用户 ID 和广告 ID。因此,移动应用将从 table 中获取它们。然而,使 table 只包含外键看起来对架构不利。
  2. 在用户模型中添加数组字段,并在其中保存广告 ID。尝试使用 postgres-extensions 中的 ArrayField,但我不断收到与 'form_size' 相关的类型错误。即使我从迁移文件中删除了 'form_size',如图所示 here,我仍然收到 502 错误。

那么,我应该继续使用 ArrayField 并尝试修复该错误吗? 或者只用 2 个外键创建 table 看起来还不错?

拜托,如果有人遇到 'form_size' 打字错误,请帮助我。

谢谢。

更新1。 这是用户 table

中的收藏夹字段
favorites = ArrayField(
        base_field=models.CharField(max_length=50), default=[], blank=True,
    )

我正在导入这些:

````from django.contrib.postgres.fields import ArrayField

UPD 1.

我可以推荐两种方法,但更喜欢第二种,因为它更简单:
- 创建一个新模型 "Bookmark" 没问题,您将拥有 USER 和 AD 模型的外键,这将允许您添加其他属性(如 bookmarked_date、书签标签...)
- 只需将 ManyToMany 属性 "Bookmarks" 添加到 USER 模型,这很容易,并且在您的情况下应该足够