[英]1054, "Unknown column 'work_waterlevel.id' in 'field list'" in django
[英]1054, “Unknown column 'user_account_id_fk_id' in 'field list'”
我专注于与用户帐户相关的插入日志表,并且在视图文件中使用django插入新行时遇到了问题。 因此,它可能来自我的模型。 我不知道如何解决此问题。
我通过使用get all和filter更改queryset来更改模型设置和视图文件中的内容
模型文件
class user_account(models.Model):
user_account_id = models.IntegerField(primary_key=True, max_length=11, unique=True, null=False)
username = models.CharField(max_length=50)
password = models.CharField(max_length=255)
display_name = models.CharField(max_length=100)
mobile_no = models.CharField(max_length=50)
email = models.CharField(max_length=255)
is_delete = models.SmallIntegerField(max_length=1)
create_date = models.DateTimeField()
create_user_account_id = models.IntegerField(max_length=11)
modify_date = models.DateTimeField()
modify_user_account_id = models.IntegerField(max_length=11)
delete_date = models.DateTimeField()
delete_user_account_id = models.IntegerField(max_length=11)
last_login = models.DateTimeField()
is_authenticated = models.SmallIntegerField(max_length=1)
class Meta:
app_label = 'users'
db_table = 'user_account'
class user_account_log(models.Model):
user_account_log_id = models.BigIntegerField(primary_key=True, max_length=20)
user_account_id_fk = models.ForeignKey(user_account, unique=True, on_delete=models.DO_NOTHING, related_name = 'user_acc')
action = models.CharField(max_length=100)
title = models.CharField(max_length=100)
description = models.TextField()
refer_id = models.CharField(max_length=50)
refer_table = models.CharField(max_length=50)
class Meta:
app_label = 'users'
db_table = 'user_account_log'
视图文件
user_log = user_account_log()
user_log.action = "aaaa"
user_log.title = ""
user_log.description =""
user_log.refer_id = "AAAA"
user_log.refer_table = ""
user_log.user_account_id_fk_id = str(user_account.objects.get(user_account_id=request.user.user_account_id).user_account_id)
# Save
user_log.save()
追溯
Environment:
Request Method: GET
Request URL: http://localhost:2499/user/users_list/test42/delete/
Django Version: 2.2.1
Python Version: 3.6.8
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dashboard_app',
'user_app',
'django_mysql']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in _execute
84. return self.cursor.execute(sql, params)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\mysql\base.py" in execute
71. return self.cursor.execute(query, args)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\cursors.py" in execute
206. res = self._query(query)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\cursors.py" in _query
312. db.query(q)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\connections.py" in query
224. _mysql.connection.query(self, query)
The above exception ((1054, "Unknown column 'user_account_id_fk_id' in 'field list'")) was the direct cause of the following exception:
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\core\handlers\base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\core\handlers\base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\contrib\auth\decorators.py" in _wrapped_view
21. return view_func(request, *args, **kwargs)
File "C:\Users\chalothorn_c\SwappingBatteryWepApp\user_app\views.py" in user_change
298. user_log.save()
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\base.py" in save
741. force_update=force_update, update_fields=update_fields)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\base.py" in save_base
779. force_update, using, update_fields,
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\base.py" in _save_table
870. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\base.py" in _do_insert
908. using=using, raw=raw)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\manager.py" in manager_method
82. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\query.py" in _insert
1186. return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
1335. cursor.execute(sql, params)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in execute
99. return super().execute(sql, params)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in execute
67. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in _execute_with_wrappers
76. return executor(sql, params, many, context)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in _execute
84. return self.cursor.execute(sql, params)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\utils.py" in __exit__
89. raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\utils.py" in _execute
84. return self.cursor.execute(sql, params)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\django\db\backends\mysql\base.py" in execute
71. return self.cursor.execute(query, args)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\cursors.py" in execute
206. res = self._query(query)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\cursors.py" in _query
312. db.query(q)
File "C:\Users\chalothorn_c\.conda\envs\Analytics\lib\site-packages\MySQLdb\connections.py" in query
224. _mysql.connection.query(self, query)
Exception Type: OperationalError at /user/users_list/test42/delete/
Exception Value: (1054, "Unknown column 'user_account_id_fk_id' in 'field list'")
解决的问题:在模型中插入参数名称“ db_column ”。
例:
user_account_id_fk = models.ForeignKey(user_account,unique = True,> db_column ='user_account_id_fk',on_delete = models.DO_NOTHING)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.