您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Django中设计组织特定模型的最佳方法?

5b51 2022/1/14 8:23:06 python 字数 1678 阅读 609 来源 www.jb51.cc/python

这是一个数据库模型设计问题.假设我正在设计像Slack这样的应用程序. Slack有多个组织,每个组织内都有对象,只有该组织才能访问(例如,聊天记录,文件等).在Django中设置这些每个组织对象的最佳方法是什么? 一个简单的解决方案是将ForeignKey附加到这些对象中的每一个.像这样: class Organization(models.Model): # ... class Fi

概述

一个简单的解决方案是将ForeignKey附加到这些对象中的每一个.像这样:

class Organization(models.Model):
    # ...

class File(models.Model):
    organization = models.ForeignKey(
        'Organization',on_delete=models.CASCADE,)
    # ...

class ChatThread(models.Model):
    organization = models.ForeignKey(
        'Organization',)
    # ...

但是如果我们这样做,我们需要在组织上放一个索引,因为有很多这样的每个组织对象,所以看起来有点浪费.

有没有更简洁的设计方法

如果要抽象组织字段并在所有组织对象上使用某些方法,则可以使用如下的抽象模型:

class Organization(models.Model):
    # ...

class OrganizationModel(models.Model):
    organization = models.ForeignKey(
        'Organization',db_index=False,)

    class Meta:
        abstract = True

class File(OrganizationModel):
    # ...

class ChatThread(OrganizationModel):
    # ...

总结

以上是编程之家为你收集整理的在Django中设计组织特定模型的最佳方法?全部内容,希望文章能够帮你解决在Django中设计组织特定模型的最佳方法?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶