书签实现逻辑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---首页对应视图函数相关逻辑

Django搭建个人博客平台5---首页对应视图函数相关逻辑

django_上下文管理器

三 Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性