Django模型中的属性数

我搜索了很多东西,却没有找到我想要的东西。

在Django中,模型类的最佳概念是什么?

要扩展User,最好有一个带有多个属性的类,或者将这个类分解为几个带有几个属性的类?我现在正在使用django ORM。

假设我有一个名为Person的类可以扩展User,那会更好:

class Person(models.Model):
    user = foreingkey(User)
    attribute1 =
    ...
    attributeN =

或者,这样做会更好:

class PersonContac(models.Model):
    user = foreingkey(User)
    attribute1 =
    ...
    attribute3 =

class PersonAddress(models.Model):
    user = foreingkey(User)
    attribute1 =
    ...
    attribute3 =

class PersonHobby(models.Model):
    user = foreingkey(User)
    attribute1 =
    ...
    attribute3 =

我的每个视图都将使用较小类的数据(可能)。

随着时间的流逝,at亵人数会扩大。

我想做的是一次,然后触摸最小的可能性。用户可以填写各种属性,而这些属性不是必需的。用户数量是不确定的(可以很多)。

我对长期性能和维护感到担忧。

如果有人可以解释我,那对我的代码会更好,以及为什么。使用Django ORM,总的来说会更好(更少的类/更多的属性,或者更多的类/更少的属性)。

最好是,我的视图仅使用一个模型类的数据,或者没有(或几乎没有)区别?

编辑:

在急于写作的时候,我在课堂上使用了坏名声。这些属性都不是“多对多”字段,“用户”每个属性只有一个值,即为空白。

属性的数量可以随着时间的流逝而扩展,但数量却不多。

德语

我认为这完全取决于您的界面。

如果必须在单个页面中公开用户的所有数据,并且只有一个大型模型,则最终将只有一个sql联接,而不是每个较小的表都有一个sql联接。

相反,如果只需要其中一些属性,则将用户表与较小的属性连接在一起,则可能会在内存使用方面获得较小的性能提升,因为您不必加载很多不需要使用的属性。可以使用(尽管可以通过values此处的文档缓解这种情况

另外,如果您的属性不是强制性的,则至少应了解要填充多少个属性。拥有几乎空的记录的大表可能会浪费空间。也许是一个问题,也许不是。这取决于您的硬件资源。

最后,如果您真的认为自己的属性可以扩展很多,则可以尝试EAV方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django模型中的派生属性

来自分类Dev

Django模型-在JSON中添加属性

来自分类Dev

在Django中访问模型字段和属性

来自分类Dev

获取Django中模型的属性类型

来自分类Dev

Django在模型中“无法设置属性”

来自分类Dev

使用QuerySet的Django模型中的计算属性

来自分类Dev

Django-sqlite-从模型中删除属性

来自分类Dev

Django模型外键中的属性错误

来自分类Dev

在Django中查询相关的模型属性

来自分类Dev

使用表单更新Django中的模型属性

来自分类Dev

在Django模型的构造函数中设置属性

来自分类Dev

django 表单模型中的属性

来自分类Dev

Django测试模型属性

来自分类Dev

Django测试模型属性

来自分类Dev

遍历Django模型属性

来自分类Dev

Django模型属性

来自分类Dev

在ManyToMany模型中的Django关系,对象没有属性

来自分类Dev

无法获取模型对象以在django管理页面中显示属性

来自分类Dev

如何在python中获取类属性(Django模型)的类型

来自分类Dev

Django - 如何在模板中显示父模型属性

来自分类Dev

如何在Django的模型中增加和属性的值?

来自分类Dev

抽象的Django模型没有“模型”属性?

来自分类Dev

(Django)使用尚未定义的其他模型的属性在模型中定义__str__

来自分类Dev

在Django模型中如何处理模型的一般属性?

来自分类Dev

Django模型属性和模型中名称不同的数据库字段

来自分类Dev

以Django选择的形式在``模型选择''字段中列出各种模型属性

来自分类Dev

在查询参数中遵循关系或在Django模型中使用模型属性查找会更快吗?

来自分类Dev

Django动态访问模型属性

来自分类Dev

Django视图/模型属性错误

Related 相关文章

热门标签

归档