书签实现逻辑django
Posted
技术标签:
【中文标题】书签实现逻辑django【英文标题】:Bookmarks implementation logic django 【发布时间】: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.
【问题讨论】:
只包含外键的表没有任何问题。并且实施将更加简单和安全。阵列版本可能会在大规模上表现更好,但这不太可能相关。 【参考方案1】:我可以推荐两种方法,但更喜欢第二种方法,因为它更简单: - 创建一个新模型“书签”很好,您将拥有 USER 和 AD 模型的外键,这将允许您添加其他属性(如书签日期、书签标签...) - 只需将 ManyToMany 属性“Bookmarks”添加到 USER 模型,这很容易,在您的情况下应该足够了
【讨论】:
以上是关于书签实现逻辑django的主要内容,如果未能解决你的问题,请参考以下文章
python_tensorflow_Django实现逻辑回归
MybatisPlus实现基本CURD&逻辑删除&代码生成(对标Django系列学习二)
Django搭建个人博客平台5---首页对应视图函数相关逻辑