【发布时间】:2020-12-02 03:16:26
【问题描述】:
我正在尝试在这里创建一个脚本来查看我的教职员工表列表,该列表分析教职员工的电子邮件地址并将其与系统中的登录名进行比较以将其分配给他们的教室,但我的脚本不断崩溃。
目标是什么? 目标是我有一张名为sections 的表,sections 是教室。每个教室都有一个老师分配给他们。但是,为了让老师看到他们被分配到的教室,我通过用户登录名(即他们的电子邮件地址)来链接它。但是,尽管我的打印语句中的逻辑确实适用于我的查询,但它无法更新多对多字段。这是我的代码。
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 = "")
我得到的错误是无法更新模型字段
【问题讨论】:
标签: python django django-models django-views