Python / Django наследуют от 2 классов - PullRequest
2 голосов
/ 23 июня 2010

В моем проекте django у меня есть 2 варианта пользователей. Один подкласс User класс из django.auth и второй использует почти те же поля, но не является реальным пользователем (поэтому он не наследуется от User). Есть ли способ создать класс FieldUser (который хранит только поля) и для подкласса RealUser как FieldUser, так и User, но только для подкласса FakeUser FieldUser?

1 Ответ

4 голосов
/ 23 июня 2010

конечно, я использовал множественное наследование в моделях django, все работает нормально.

звучит так, как будто вы хотите установить абстрактный класс для FieldUser:

class FieldUser(models.Model):
    field1 = models.IntegerField()
    field2 = models.CharField() #etc
    class Meta:
        abstract=True #abstract class does not create a db table

class RealUser(FieldUser, auth.User):
    pass #abstract nature is not inherited, will create its own table to go with the user table

class FakeUser(FieldUser):
    pass #again, will create its own table
...