Python django中的多个用户扩展对象

Python django中的多个用户扩展对象,python,django,models,Python,Django,Models,我们可以在同一个应用程序中使用多个用户扩展对象吗?例如,我的应用程序中有一个模型教师和其他学生,他们两个都与user by oneToone字段相关,但具有一些不同的扩展属性。因此,有人能告诉我如何使用user属性配置此对象,并将两者声明为AUTH_PROFILE_模块,而不是在get_或create like模型中定义完整函数 def get_or_create_profile(user): user.profile, c = UserProfile.objec

我们可以在同一个应用程序中使用多个用户扩展对象吗?例如,我的应用程序中有一个模型教师和其他学生,他们两个都与user by oneToone字段相关,但具有一些不同的扩展属性。因此,有人能告诉我如何使用user属性配置此对象,并将两者声明为AUTH_PROFILE_模块,而不是在get_或create like模型中定义完整函数

    def get_or_create_profile(user):
            user.profile, c = UserProfile.objects.get_or_create(user=user)
            return user.profile
我使用的函数如下

    User.profile = property(lambda u: UserProfile.objects.get_or_create(user = u)[0])
但这仍然不起作用,所以在定义函数时有任何问题,或者我必须使用更多的东西

models.py看起来像这样

    class Teachers(models.Model):
        user = models.OneToOneField(User)
        department = models.CharField(max_length = 50)
        .....
        .....

    class Students(models.Model):
        user = models.OneToOneField(User)
        enrollment_no = models.IntegerField()
        ......
        ......
我们可以在同一个应用程序中使用多个用户扩展对象吗?不是

因此,任何人都可以告诉我如何使用用户属性配置此属性吗

也许这行得通

................. #User Code

 ## this function mus be into your custom User#########3

   @property
   def profile(self):
       return UserProfile.objects.get_or_create(user=self)

还没有测试,但这必须起作用

你能粘贴你的模型吗,请?谢谢你的回答,不可能使用任何与多个外键相关的名称概念。是的,你可以这样做:但我的意思是什么,这就是我在这个问题中要问的,django中哪些参数或函数可以用来实现这一点