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