python - 如何使用函数在 django 中复制 Meta 中差异很小的模型?
问题描述
我有一个 Django 项目,它有很多模型和很多关系。我的工作是使用一个函数创建一个具有不同名称和 db_table 元数据的新模型,该函数具有将被复制的模型参数。我应该更改ManyToMany
和ForeignKey
引用新创建/将创建的新模型。
我在 Django 中使用 type(name, (models.Model,), attrs) 尝试了 DynamicModels,但经过一番尝试后,'is_relation' 属性错误开始起作用。create_model 函数将用于执行此操作。
Class C(models.Model):
q = models.CharField(max_length=20)
def __str__(self):
return self.q
Class A(models.Model):
x = models.CharField(max_length=20)
y = models.DateTimeField(auto_now_add=True)
Class B(models.Model):
z = models.ForeignKey(A)
t = models.ManyToManyField(C)
w = models.DateTimeField(auto_now_add=True)
def create_model(model):
pass
我有这样的课程,我在摘要中进行了描述。我应该用不同的 db_table 创建像 C1, A1, B1 这样的新类metas
。另外,我应该将字段更改为 A1ForeignKey
和ManyToMany
C1。
如果您要求,我可以添加我的 create_model 函数。
解决方案
推荐阅读
- django - Django 使用 fstring 重定向到页面上的特定位置
- java - 如何让 Android Room 忽略库类的构造函数?
- php - php执行改变数组格式
- javascript - 如何将 lombok 从 1.16 升级到 1.18?
- c - C/程序集中的双冒号“::”运算符
- powershell - 使用 Powershell 从 Outlook 下载附件
- javascript - 如何制作谷歌应用脚本 - 日历 createEvent() 以接受来自使用数组公式填充的单元格的 GSheet 输入
- excel - 在word文档中查找和替换excel vba中的文本
- c# - 读取列表时反序列化对象错误错误
- ionic-framework - PushNotifications 在安装 Community/FCM 插件后停止工作