使父类的字段出现

2024-09-29 23:25:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个模型,它们依次使用一些类似的字段。因此,我没有复制和粘贴每个可重复字段,而是从另一个类CommonFields继承了它。你知道吗

当运行./manage.py migrate时,这会导致父类的字段首先出现在db中,这是可以理解的。但有没有办法让他们成为最后一个呢?你知道吗

from  django.db import models

class CommonFields(models.Model):
    deleted_at = models.DateTimeField(null=True, blank=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        abstract = True

class Foo(CommonFields):
    firstname = models.CharField(max_length=191)
    lastname = models.CharField(max_length=191)

这将导致一个首先包含父字段的表。你知道吗

+------------+------------+------------+-----------+----------+
| deleted_at | updated_at | created_at | firstname | lastname |
+------------+------------+------------+-----------+----------+

会吗

+-----------+----------+------------+------------+------------+
| firstname | lastname | deleted_at | updated_at | created_at |
+-----------+----------+------------+------------+------------+

Tags: trueautodbmodelsfirstnamenowatclass

热门问题