书签实现逻辑django
Bookmarks implementation logic django
我正在使用 django rest 框架开发 REST API。现在我想做一个功能来将一些广告标记为最喜欢的。以下是我的一些想法:
- 创建新模型收藏夹,包含用户 ID 和广告 ID。因此,移动应用将从 table 中获取它们。然而,使 table 只包含外键看起来对架构不利。
- 在用户模型中添加数组字段,并在其中保存广告 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 模型,这很容易,并且在您的情况下应该足够
我正在使用 django rest 框架开发 REST API。现在我想做一个功能来将一些广告标记为最喜欢的。以下是我的一些想法:
- 创建新模型收藏夹,包含用户 ID 和广告 ID。因此,移动应用将从 table 中获取它们。然而,使 table 只包含外键看起来对架构不利。
- 在用户模型中添加数组字段,并在其中保存广告 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 模型,这很容易,并且在您的情况下应该足够