我需要为下周开始的新员工向我的Django项目添加新的用户个人资料-我尝试通过www.mysite.co.uk/admin进行此操作,然后转到Authentication&Authorization-> Add User,我进行了设置用户名和密码,并赋予用户个人资料管理员权限。它表示已经成功创建了用户,但是当我尝试通过运行以下命令来掌握刚在命令行中添加的用户配置文件时:
from employees import models
from employees.models import Employee
allEmps = Employee.objects.all()
newUser = allEmps.filter(first_name = "name")
newUser
只是变成了一个空数组,因此很明显,该用户尚未添加到数据库中...如果我运行相同的命令,但是使用我的名字,而不是我刚刚尝试添加的用户名,则newUser会保存一个数组一个元素(我的用户帐户)的名称,然后可以将其分配给变量以检查其属性等。
然后,我尝试直接在命令行中创建一个新用户,因此运行:
newEmployee = Employee(first_name = "name", surname = "surname")
这似乎在本地创建了一个Employee对象
我实际上如何将新用户添加到我的Django项目/数据库中?
我的用户数据库条目是Employee
-但是当我在看employees.models
的Employee
班,没有“add_employee”观点......
我应该跑步吗
newEmployee = Employee(first_name = "name", surname = "surname")
从实时服务器上的外壳?这样是否可以通过Django管理页面访问新员工的用户个人资料,以便我可以设置其特权,电子邮件地址等?
该语句不会在数据库中创建雇员:
newEmployee = Employee(first_name = "name", surname = "surname")
它只是创建一个雇员对象。您可以通过以下两种方法将数据保存到数据库:
newEmployee = Employee(first_name = "name", surname = "surname")
newEmployee.save()
或者
newEmployee = Employee.objects.create(first_name = "name", surname = "surname")
编辑:
我回答这个问题的速度太快了,但忽略了它的其他部分。您不应使用生产外壳添加新员工,而应使用管理界面。Django第一个教程有足够的示例来告诉您如何向admin添加新模型,您应该始终阅读它以了解django的基础知识。出于某种原因,它的标题为“编写您的第一个Django应用程序”。
重新编辑:
Django文档也有一节讨论如何扩展User
模型。在本节末尾,它建议:
这些概要文件模型在任何方面都不是特殊的-它们只是Django模型,碰巧与用户模型具有一对一链接。因此,在创建用户时不会自动创建它们,但是可以使用django.db.models.signals.post_save适当地创建或更新相关模型。
因此,您的Employee
模型不会自动创建,只需检查文档并使用post_save
方法即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句