【发布时间】:2012-03-10 22:39:21
【问题描述】:
我正在我的电子邮件服务器中访问电子邮件,获取每封电子邮件的正文,然后应用正则表达式来查找填充我的 Django 模型所需的数据。
这一切都很好,除了一个字段,它作为外键链接到另一个模型字段。尽管我的电子邮件中的值与我的其他模型中列出的值相同,但它失败了....
错误:
ValueError: Cannot assign "'Humanities'": "Subject.faculty" must be a "Faculty" instance.
例如,假设每个学校科目都必须是教师的一部分。通过表单填充数据库时,对于主题的教师字段,我将菜单下拉到教师值/实例列表,因为在我的模型中定义了外键关系,即对于教师字段,我可以从人文、艺术、设计技术等
但是当我在电子邮件中找到值“Humanities”并尝试将其添加到数据库模型时,我收到了上述错误。
有人对此有所了解吗?我是愚蠢还是对我来说不仅仅是一个 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)
【问题讨论】:
-
让我们看看你的模型和一些代码!
-
请尝试在 shell 中重现问题(./manage.py shell - 不要忘记安装 ipython 以获得更好的 shell),然后在主题中发布 shell 会话跨度>
标签: database django email models