Учитывая следующие модели:
class BaseMachine(models.Model)
fqdn = models.CharField(max_length=150)
cpus = models.IntegerField()
memory = models.IntegerField()
class Meta:
abstract = True
class PhysicalMachine(BaseMachine)
location = models.CharField(max_length=150)
class VirtualMachine(BaseMachine)
hypervisor = models.CharField(max_length=5)
class Sysadmin(models.Model):
name = models.CharField(max_length=100)
admin_of = models.ManyToManyField...
В этом примере я хотел бы связать 1 системного администратора со многими машинами - будь то экземпляр, PhysicalMachine или VirtualMachine. Я знаю, что не могу иметь ManyToMany с абстрактной базой, но мне было интересно, есть ли лучший способ добиться этого, чем просто иметь отдельное поле ManyToMany в sysadmin для каждой из моделей? В этом небольшом примере это может быть допустимо, но если у вас есть более 2 подклассов, или если есть другие модели, которые вам нужно связать с базовым классом, это становится чем-то большим для управления.
Спасибо:)