0

考虑以下三个类:

class UUIDModel(models.Model):

    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)

    class Meta:
        abstract = True


class TimeStampedUUIDModel(UUIDModel):

    created = models.DateTimeField(auto_now_add=True, editable=False)
    modified = models.DateTimeField(auto_now=True, editable=False)

    class Meta:
        abstract = True

class UsefulClass(TimeStampedUUIDModel):

    name = models.CharField(max_length=150, unique=True)
    creator = models.ForeignKey('OtherClass', on_delete=models.SET_NULL, null=True)

基于这些类,当我运行makemigrations命令时,Django 将创建两个迁移(在第一次运行时)。一个包含idcreated和(!) 字段modifiedname第二个添加creator外键。

创建两个迁移而不是一个迁移的原因可能是什么?

4

1 回答 1

1

@PrabinSapal 是正确的,您可以使用python manage.py reset_db --noinput. Django命令重置您的Django 数据库,从所有中删除所有数据。这允许您再次运行所有迁移

于 2021-12-08T22:25:36.267 回答