Django如何迭代ldap返回的列表以保存新的obj

2024-10-01 05:07:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下型号:

class SystemUsers(models.Model):
    username = models.CharField(max_length=25)
    displayName = models.CharField(max_length=100)
    phoneNumber = models.BigIntegerField(max_length=10)
    emailAddress = models.EmailField(max_length=100)
    employeeNumber = models.CharField(max_length=7)
    firstName = models.CharField(max_length=20)
    lastName = models.CharField(max_length=30)

我有一个ldap查询正在从active directory返回以下内容:

^{pr2}$

我得到了预期的结果,但我无法解析出列表,将其放入SystemUser(…..).save()块以将其保存到数据库中。我只得到一个列表,我不能循环或设置变量。在

当我做

for item in user_details:
     print(item)

我只有7行数值。我无法获取,因此项[0]是用户名,项[1]是显示名,等等


Tags: 列表modelmodelsusernameitemlengthmaxclass
1条回答
网友
1楼 · 发布于 2024-10-01 05:07:28

您可以使用用户数据创建dict并使用kwargs魔术:

field_names = ('username', 'displayName', 'phoneNumber', 'emailAddress',
               'employeeNumber', 'firstName', 'lastName', )
data = dict(zip(field_names, user_details)
SystemUser.objects.create(**data)

顺便说一句,从一开始就把user_details作为字典是个更好的主意?在

^{pr2}$

相关问题 更多 >