gpt4 book ai didi

python - 重用 Django 模型

转载 作者:行者123 更新时间:2023-12-03 19:59:57 24 4
gpt4 key购买 nike

我有一个带有一堆模型和模板的应用程序来执行某个任务(它被称为“用户访问审查”,但这并不重要 - 该应用程序被称为“uar”)。当用户完成他们的任务时,我们希望将主要模型中的数据归档到我们所谓的“历史”表中。这些表在结构上与原始“uar”表相同,但可能位于另一个数据库中,也可能位于同一数据库中。但是,它们将是只读的,除非将它们归档到这些历史表中的过程,以及可能在一定年数后使项目过期的任务。

因为我想要完全相同的模型结构但名称不同,所以我想我只需制作一个名为“uar_history”的应用程序,并在两个应用程序之间对 models.py 文件进行符号链接(symbolic link)。但是当我尝试 syncdb新模型,我收到很多关于模型没有验证的投诉,因为 related_name外键上的反向链接。

有更好的方法吗?我是否应该将所有存档表都设为模型类的子类?

最佳答案

@Brandon 给出了正确的答案,您应该为共享定义使用通用抽象模型。它们可以在同一个文件或单独的模型文件中(我选择 commoncurrenthistory 作为此示例的应用程序):

常见/models.py

class CommonPostModel(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()

class Meta:
abstract = True

当前/models.py
class CurrentPostModel(CommonPostModel):
pass

历史/models.py
class ArchivePostModel(CommonPostModel):
pass

关于python - 重用 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19394299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com