我试图在这里创建一个脚本,查看我的员工表列表,分析员工的电子邮件地址,并将其与系统中的登录名进行比较,以将其分配给他们的教室,但我的脚本不断崩溃
目标是什么? 我们的目标是我有一个叫做分区的表格,分区就是教室。每个教室都有一位老师。但是,为了让老师看到分配给他们的教室,我会通过用户的登录名(即他们的电子邮件地址)将其链接起来。然而,尽管打印语句中的逻辑对查询有效,但无法更新多对多字段。这是我的密码
FUNCTION
def AssignLoginToSection():
users = User.objects.all()
for user_email in users:
email = user_email.email
print('Getting Email addresses in system.')
if Section.objects.filter(staffpsid__email = email):
section = Section.objects.filter(staffpsid__email = email)
print("Found Matching Login Name.")
print('The following sections were found with this users email.', section)
Section.objects.filter(staffpsid__email = email).update(teacher_username= email)
print('Added user login name to section.')
else:
print("No matching login name.")
return("Done")
MODELS
# Section Information Stored
class Section(models.Model):
sectionpsid= models.CharField(primary_key = True, default = "", max_length = 50)
schoolpsid = models.ForeignKey(School,on_delete = models.CASCADE, default = "" ,)
coursepsid = models.ForeignKey(Course,on_delete = models.CASCADE, default = "" ,)
termpsid = models.ForeignKey(Term,on_delete = models.CASCADE, default = "" ,)
section_number = models.CharField(default = "", max_length = 50)
expression = models.CharField(default = "", max_length = 50)
external_expression= models.CharField(default = "", max_length = 50)
staffpsid = models.ForeignKey(Staff,on_delete = models.PROTECT, default = "" ,)
gradebooktype = models.CharField(default = "", max_length = 50)
teacher_username = models.ManyToManyField(User)
# Staff Information Stored
class Staff(models.Model):
staffpsid= models.CharField(primary_key = True, default = "", max_length = 50)
first_name = models.CharField(max_length = 50, default = "")
last_name = models.CharField(max_length = 50, default = "")
staff_name = models.CharField(max_length = 50, default = "")
email = models.EmailField(default = "", unique = True)
staff_cell = models.CharField(max_length = 12, default = "")
users_dcid = models.CharField(max_length = 5, default = "")
我得到的错误是无法更新模型字段<;django.db.models.fields.related.ManyToManyField:teacher\u username>;(仅允许使用非关系键和外键)
ManyToManyField使用添加或删除方法
而不是:
使用:
相关问题 更多 >
编程相关推荐