通过save()方法从另一个模型动态创建一个模型

时间:2019-01-15 15:45:43

标签: mysql django django-models

我想在另一个模型的save方法中创建一个模型,因此动态生成的模型将使用静态模型中的字段命名。

型号代码:

class Car(models.Model):
    name = models.CharField(max_length=128)

    def save(self, *args, **kwargs):
        attrs = {
            'piece': models.CharField(max_length=128),
            '__module__': 'myapp.models'
        }
        model = type('%s_piece' % self.name, (models.Model,), attrs)
        admin.site.register(model)
        super(Car, self).save(*args, **kwargs)

已生成模型,但我不知道如何进行迁移或将其迁移到数据库。

我尝试通过以下方式进行迁移:

from django.core.management import call_command
call_command('makemigrations')
call_command('migrate')

但是我在原子事务中执行此操作时遇到错误。

0 个答案:

没有答案