简介:许多朋友询问有关Django其他手表类别与用户有何关系的问题。本文的首席执行官注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!
将用户类的以下扩展添加到Models.py:
#=========================================================================================
班级用户版(Models.Model):
user = models.onetoonefield(用户)
major = model.textfield(default ='',空白= true)
地址= model.charfield(max_length = 200,默认值='',空白= true)
def __unicode __(self):
返回self.user.username
def create_user_profile(发件人,实例,创建,** kwargs):
“”保存新用户时创建用户封装。
如果创建:
profile = userProfile()
propile.user =实例
profile.save()
#post_save.connect(create_user_profile,sender =用户)
”“”“我不明白,我必须对上线发表评论,以便没有错误,否则将有重复的条目'2'对于键'user_id'”)。是正常的,但与官方文件有差异。混乱,“”“”
#============================================================================= 123456789111113141516171819
您还需要修改Admin.py
““用户模块扩展”“”“”“”
class profileinline(admin.stackedinline):
型号=用户撰写
#fk_name ='用户'
max_num = 1
can_delete = false
类Customuseradmin(UserAdmin):
inlines = [profileinline,],]
admin.Site.unregister(用户)
Admin.Site.Register(用户,CustomuserAdmin)
“”““用户模块扩展”“” 12345678910111213
修改设置的配置.py,增加
“”“用户模块扩展零件”“”“”“”
auth_profile_module ='djangoadmin.myadmin.userprofile'
“”“用户模块扩展完成”“ 123
根据官方说明,这是应用标签和扩展类的名称。它也应该是创建的应用程序的名称。正式推荐的方法分为“两部分”。连接,我在这里有三个部分,没有错误。
然后运行python manage.py syncdb,它将在数据库中创建一个响应表,并且有一个User_ID外键字段。
最后,让我们运行程序并输入用户界面的增加。您会发现您扩展的字段已显示
每次添加用户时,相应的数据都会添加到扩展表中。修改时,还将修改相应的数据。USER_ID是关联的,因此用户模型扩展已完成。
如果要在扩展程序中获取内容,则可以通过request.user.get_profile()的方法获取它。地址。获得用户对象后,您可以轻松获得扩展类。
该表链接到Django中的模型。您需要将模型指定为用户模型,以便Django的身份系统将使用与模型相对应的表来进行身份身份验证。
如果您只是扩展或替换Django的用户模型,则只需要在设置中指定Auth_user_model作为模型,然后查看官方网站的教程Web链接。
如果您需要更灵活地更改认证过程,则需要自定义身份验证后端。
第一个构建学生,分区,课程,stu_info表
添加一对多表的关系数据:
1.第一种方法是将其添加为上一个方法。应该注意的是,外键的值必须是关联表中存在的存在。
2.第二种方法是属性分配的方法,因为我们具有模型类中部门的属性,并且该属性的对象的类型必须是部门表类型的实例对象
访谈与对象相关的对象:
我们具有定义学生类别类别的部门的属性,因此,当我们访问它时,我们可以直接找到可以通过Student.Deppartment的形式直接找到学生附属学院的大学。
那么,如果您拜访访问一所大学的学生时我们也想改变呢?
访谈与对象相关的对象:
您可以在定义期间设置相关的_name参数,以涵盖foo_set的名称。
clear()将所有对象集中在关联对象
多桌查询----交叉关系查询:
Django提供了一种强大而直观的方式来“处理”查询中相关关系。它会自动帮助您处理后台加入。如果您想跨越关系,则只需要使用关联的模型字段的名称并使用双重字段的行进行分开,直到您想要的字段:
它也可以反向起作用。要引用“反向”关系,您只需要使用模型的小写字母的名称即可。
结论:以上是相关内容的摘要答案,回答了Django的其他表格类别如何由首席CTO注释。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?