从继承的模型更改字段名称?

时间:2016-08-10 13:57:33

标签: python django inheritance django-models

是否可以更改字段名称? 所以我有两个型号,

class ChangeLog(IpHandlerModel):
    id = models.AutoField(primary_key=True)
    change_operations = models.CharField(max_length=1, choices=CHANGE_OPERATION_CHOICES)
    change_type = models.CharField(max_length=3, choices=CHANGE_TYPE_CHOICES)
    cust_uuid = models.UUIDField(default=uuid.uuid1)
    ip_address = models.GenericIPAddressField()
    ip_assign_ts = models.DateTimeField()
    ip_source = models.CharField(max_length=4, choices=IP_ASSIGNMENT_SOURCE_CHOICES)
    ip_source_device = models.CharField(max_length=255, null=True, blank=True)
    ip_unassign_ts = models.DateTimeField(null=True, blank=True)
    is_hacker_alert_cust = models.BooleanField()
    mac_address = models.CharField(max_length=12)
    mac_assign_ts = models.DateTimeField()
    mac_unassign_ts = models.DateTimeField(null=True, blank=True)
    status = models.CharField(max_length=7, choices=STATUS_CHOICES, default='SEND')
    error_count = models.IntegerField(default=0)

class ChangeLogArchive(ChangeLog):
    def __init__(self, *args, **kwargs):
    super(ChangeLogArchive, self).__init__(*args, **kwargs)

因此,ChangeLogArchive继承了ChangeLog,我想要更改ChangeLog中的一些字段名称...例如,ip_assign_ts到original_ip_assign_ts

这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

我不确定是否可以更改它。但你可以做的是用新名称创建一个新字段。并将其链接到其他字段。因此,任何ChangeLog或ChangeLogArchive的保存都会覆盖新字段original_ip_assign_ts中的值。

只是一个想法。