google app engine - GAE Django nonrel扩展用户模型



我试图通过继承自定义模型来扩展用户模型:

class Profile(User):
   ...

我想添加我的自定义字段到用户模型,但django nonrel失败与一个错误:

DatabaseError: Multi-table inheritance is not supported by non-relational DBs.

那么我该如何解决这个问题呢?我肯定需要我的自定义字段在用户模型

您应该创建另一个类来保存额外的字段,并以一对一的关系将其绑定到User模型。

from django.contrib.auth.models import User
class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    nickname = models.CharField(max_length=50)
    ...
    ...

你不能在google-app-engine中这样做。如果你想在你的模型中有关系。你应该以一种可以用appengine的方式实现的方式来规范你的模型。了解更多关于在appengine建模。您可以通过以下链接查看。

在appengine中建模

appengine中的每日盈利建模

我想要这个请求。user对象为普通的user对象,但添加了字段。可接受的答案不允许这样做,因为UserProfile有一个成员"user"而不是一个用户。

这篇文章解释如何从User继承。

步骤简述:

  • 让CustomUser从User
  • 继承
  • 设置自定义身份验证后端以返回CustomUser

还没试过

最新更新