Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 无法分配-必须是一个";UserProfile";实例_Django_Django Models_Django Authentication_Django Users - Fatal编程技术网

Django 无法分配-必须是一个";UserProfile";实例

Django 无法分配-必须是一个";UserProfile";实例,django,django-models,django-authentication,django-users,Django,Django Models,Django Authentication,Django Users,我定义了一个类UserProfile,它将默认的用户作为外键。 现在,另一个类A有一个指向UserProfile的外键 因此,为了在类A中保存任何实例,我应该如何给它userprofile对象 另外,制作类用户配置文件是否意味着类用户仍在使用,而类用户配置文件只是其他一些表格? 我需要知道这一点,因为我必须处理用户配置文件的创建,所以我应该知道什么存储在哪里 -- 困惑我假设您的用户配置文件模型旨在存储有关用户的其他信息。如果是这样,那么最好的方法就是: 使用要存储的附加信息字段或要提供的附加

我定义了一个
类UserProfile
,它将默认的
用户
作为外键。 现在,另一个
类A
有一个指向
UserProfile
的外键
因此,为了在类A中保存任何实例,我应该如何给它userprofile对象

另外,制作
类用户配置文件
是否意味着
类用户
仍在使用,而
类用户配置文件
只是其他一些表格?
我需要知道这一点,因为我必须处理用户配置文件的创建,所以我应该知道什么存储在哪里

--
困惑

我假设您的
用户配置文件
模型旨在存储有关用户的其他信息。如果是这样,那么最好的方法就是:

  • 使用要存储的附加信息字段或要提供的附加方法定义模型,并将
    OneToOneField
    从模型添加到用户模型。这将确保每个用户只能创建一个模型实例
  • 设置为
    myapp.MyModel
    ,其中
    myapp
    是包含模型
    MyModel
    的应用程序,您要使用该模型存储有关用户的额外信息
所以为了保存类A中的任何实例, 我如何给它用户配置文件 反对

  • 使用具有
    models.OneToOneField(用户)
    models.ForeignKey(用户,unique=True)
    的模型创建应用程序
  • 通过从settings.py文件
    AUTH\u PROFILE\u模块='myapp.UserProfile'
    指向您的项目,使其了解您的UserProfile
  • 读这本书
  • 另外,创建一个类UserProfile 表示类用户仍在使用,并且 类UserProfile只是另一个 桌子

    是的,您的数据库将同时具有一个
    auth\u user
    和一个
    user\u profile
    表。这是因为使用UserProfiles并不意味着所有用户都必须拥有配置文件。只有
    UserProfile
    模型中定义的附加字段才会出现在
    user\u profile
    表中

    我需要知道这一点,因为我必须 负责用户配置文件的创建,所以 我应该知道什么东西存放在哪里


    James Bennett创建了两个很好的应用程序,经过几个小时的仔细阅读将非常有帮助,尤其是在用户注册部分。去看看和。

    我应该为
    类用户自己创建一个外键吗?是的,我读过:两件事-1。这是否停止使用
    类用户
    (我已将外键用于用户模型)2。任何可能需要用户信息的其他型号都应该为
    类用户提供一个外键
    ,这样行吗?或者我在AUTH_PROFILE_模块中设置的新模型会接管吗?我希望我明白了。谢谢,谢谢西蒙。我只是有一个小小的疑问-这意味着用户身份验证仍然可以在需要时使用普通用户类作为外键来完成,我不应该使用UserProfile类,除非我关心“profiles”!我认为这是一个设计问题。如果您项目的所有用户都有一个配置文件,那么您可以始终导入UserProfile,但我想更常见的做法是只导入用户以创建可重用的应用程序。在第一个选项中,您的用户配置文件将成为所有其他应用程序的依赖项,这可能是不可取的。