在Django中设计组织特定模型的最佳方法?
发布时间:2020-11-18 03:05:32 所属栏目:Python 来源:互联网
导读:这是一个数据库模型设计问题.假设我正在设计像Slack这样的应用程序. Slack有多个组织,每个组织内都有对象,只有该组织才能访问(例如,聊天记录,文件等).在Django中设置这些每个组织对象的最佳方法是什么? 一个简单的解决方案是将ForeignKey附加到这些对象中的
|
这是一个数据库模型设计问题.假设我正在设计像Slack这样的应用程序. Slack有多个组织,每个组织内都有对象,只有该组织才能访问(例如,聊天记录,文件等).在Django中设置这些每个组织对象的最佳方法是什么? 一个简单的解决方案是将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',)
# ...
但是如果我们这样做,我们需要在组织上放一个索引,因为有很多这样的每个组织对象,所以看起来有点浪费. 有没有更简洁的设计方法? 解决方法我认为你的方法和它需要的一样好.在索引组织列方面,您可以使用db_index = False来禁用索引的创建.如果要抽象组织字段并在所有组织对象上使用某些方法,则可以使用如下的抽象模型: 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):
# ... (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- python – matplotlib.pyplot.imshow:在使用属性
- python – 使用matplotlib示例时Django出错
- Python+pandas计算数据相关系数的实例
- 当我运行python manage.py syncdb时,Django避免在
- python – Matplotlib:从头开始制作彩色标记图例
- python – 恢复使用迭代器的Tensorflow模型
- python-2.7 – 如何在python中使用webdriver选择
- Python中具有动态大小的多维数组
- python – 如何在数据帧中划分两列
- python – 如何使我的SWIG扩展模块与Pickle工作?
热点阅读
