我会尝试解决我的问题:
我需要为IPv4和IPv6创建两个模型类。 我想通过继承来做;即,创建一个模型类,然后从该类继承,但每个子类的附加(不同)限制:
class IP(models.Model):
ip = models.GenericIPAddressField()
class Meta:
abstract = True
class IPv4(IP):
ip = models.GenericIPAddressField(protocol='ipv4')
class IPv6(IP):
ip = models.GenericIPAddressField(protocol='ipv6')
我不确定这是否是正确的方法,我想知道由于这样的模型可能会导致哪些问题。
答案 0 :(得分:0)
抽象模型通常用于定义具有公共字段的模型。 如果在两个模型中定义相同的字段,则基本模型不需要该字段。 但是,在您的代码中,该字段(' IP.ip')几乎不存在,因此不会出现操作问题。