我们可以在同一个应用程序中使用多个用户扩展对象,例如我有一个模型教师和我的应用程序中的其他学生,两者都与User by oneToone字段相关但具有一些不同的扩展属性,所以任何人都可以告诉我如何使用User属性配置它并将它们声明为AUTH_PROFILE_MODULE而不是在get_or_create()模型中定义完整函数,如
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()
......
......
答案 0 :(得分:0)
Can we use multiple user extended objects in the same app?
的答案是否
So can anyone please tell me how to configure this using User property?
也许这可以工作
................. #User Code
## this function mus be into your custom User#########3
@property
def profile(self):
return UserProfile.objects.get_or_create(user=self)
尚未测试,但必须正常工作