2010-06-23 1 views
2

내 장고 프로젝트에는 두 가지 변형이 있습니다. 하나는 django.auth에서 User 클래스를 하위 클래스로 만들고 두 번째 필드는 거의 동일한 필드를 사용하지만 실제 사용자는 아닙니다 (따라서 User로부터 상속받지 않습니다). FieldUser 클래스 (필드 만 저장하는)를 만드는 방법이 있습니까? RealUser는 FieldUser와 User를 모두 하위 클래스로 분류하지만 FakeUser 하위 클래스는 FieldUser 만 만들 수 있습니까?Python/django는 2 클래스에서 상속받습니다.

답변

4

확실히, 장고 모델에서 다중 상속을 사용했습니다. 정상적으로 작동합니다. 뛰어난

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 
+0

: 당신이 설정에 FieldUser에 대한 추상 클래스를 원하는처럼

소리! 그게 내가 성취하려고 시도한거야! – crivateos

+0

및 일부 문서는 다음과 같습니다. https://docs.djangoproject.com/en/1.8/topics/db/models/#multiple-inheritance –