Я обращаюсь к электронным письмам на своем почтовом сервере, беру тело каждого электронного письма и затем применяю регулярные выражения, чтобы найти данные, необходимые для заполнения моей модели Django.
Все это прекрасно работает, за исключением одного поля, которое связано как внешний ключ с другим полем модели. Несмотря на то, что значение в моей электронной почте совпадает со значением, указанным в моей другой модели, оно терпит неудачу ....
Ошибка:
ValueError: Cannot assign "'Humanities'": "Subject.faculty" must be a "Faculty" instance.
Например, скажем, каждый школьный предмет должен быть частью факультета. При заполнении базы данных через форму, для поля факультета субъекта я раскрываю меню со списком значений / экземпляров факультета, поскольку в моей модели определено отношение внешнего ключа, то есть для поля факультета, которое я могу выбрать из гуманитарных наук, искусства, Технология проектирования и т. Д.
Но когда я нахожу значение «Гуманитарные науки» в своем электронном письме и пытаюсь добавить его в модель базы данных, я получаю сообщение об ошибке выше.
Кто-нибудь пролил свет на это? Я тупой или это больше, чем ValueError для меня, значения одинаковы в обоих случаях
Спасибо
Больше запрашиваемого кода:
class Faculty(models.Model):
name = models.CharField(primary_key=True, max_length=50)
leader = models.CharField(max_length=50)
email = models.EmailField()
mailing_list = models.ManyToManyField("Contact", null=True)
class Subject(models.Model):
name = models.CharField(max_length=50)
faculty = models.ForeignKey(Faculty, to_field="name")
faculty_head = models.CharField(max_length=50)