Я пытаюсь понять, как я могу справиться со следующим наследованием в моделях Django.
class Address(models.Model):
street = models.CharField()
city = models.CharField()
country = models.CharField()
class Meta:
abstract = True
class Person(Address, models.Model):
name = models.CharField()
class Caffe(Address, models.Model):
place_name = models.CharField()
owner_name = models.CharField()
signature_drink = models.CharField()
Я знаю, что могу просто наследовать после Address, и это все равно будет работать. Но это выглядит некорректно - это делает код и наследование неясными (при условии, что каждая модель находится в другом файле). Кроме того, на мой взгляд, избыточность наследовать дважды от одного и того же класса (на разных уровнях, но все же). А может это единственный способ и он приемлем по стандартам Django?