mysql - edx学生模块完整性错误

标签 mysql django mysql-python edx

我正在使用edx开发人员堆栈,当我尝试向StudentModule插入条目时,我收到此错误:

Traceback (most recent call last):
  File "<console>", line 2, in <module>
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/manager.py", line 137, in create
    return self.get_query_set().create(**kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py", line 377, in create
    obj.save(force_insert=True, using=self.db)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py", line 463, in save
    self.save_base(using=using, force_insert=force_insert, force_update=force_update)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py", line 551, in save_base
    result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/manager.py", line 203, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py", line 1593, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 912, in execute_sql
    cursor.execute(sql, params)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/util.py", line 40, in execute
    return self.cursor.execute(sql, params)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 114, in execute
    return self.cursor.execute(query, args)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 201, in execute
    self.errorhandler(self, exc, value)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
IntegrityError: (1062, "Duplicate entry '5-i4x://Organization/EDDC/course/2015-
Organization/EDDC/2015' 
for key 'courseware_studentmodule_student_id_635d77aea1256de5_uniq'")

最佳答案

看起来您有 StudentModule 模型,其 student 外键具有 unique=True 属性。如果是这样,那么您尝试使用重复的 student 保存 StudentModule

请注意,您的表只能包含一条 student == None 记录(以防万一您的 stident 外键具有 null=True).

关于mysql - edx学生模块完整性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27854207/

相关文章:

mysql - 从子集查询

python - 如何使用带有 Bootstrap 的 Django 在网格中显示动态内容?

Python 和 MySQLdb 警告

php - 将日期字符串 (Y-m-d) 转换为 "Mar 2nd"php/mysql

php - 使用 AJAX 将表单值提交到数据库

python - 为什么通过 ORM 加载 SQLAlchemy 对象比通过原始 MySQLdb 游标加载行慢 5-8 倍?

python - Django聚合函数问题(Count = -number-)

django - 如何向 django-oscar 添加几种付款方式

python - 将包含逗号数据的csv文件导入MySQL

python - MySQLdb 未知 MySQL 服务器主机