gpt4 book ai didi

mysql - 警告 :data truncated for column 'username' at row 1 when using database mysql with django

转载 作者:可可西里 更新时间:2023-11-01 07:15:01 26 4
gpt4 key购买 nike

我收到上述警告

data truncated for column 'username' at row 1

我正在为我的模型“suserprofile”获取这个,其中“用户名”作为我在模型中列出的第一个字段

我检查了 max_length 选项,这对我来说不是问题,如果我更改模型中字段的顺序(将“email_id”字段更改为模型列表中的第一个),那么我会收到警告,将“用户名”替换为我首先提到的任何字段(在本例中为 email_id)在模型中。

我在运行 syncdb 时没有收到此警告,但仅当我尝试通过实际运行本地浏览器使用 django 将我的模型(“suserprofile”)中的新对象保存在我的 views.py 文件中时收到警告。我不明白为什么会这样

编辑:

我的模型:

class SUserProfile(models.Model):
email_id = models.EmailField(max_length=30)
username = models.CharField(max_length=50,blank=True)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)

我的看法

from django.allauth.models import SocialAccount
def profileview(request):
user=request.user
if user.is_authenticated:
a=SocialAccount.objects.filter(user=user)
try:
f=a.get(provider='facebook')
except:
f=None
if f:
fusername=f.get_provider_account
fdata=f.extra_data
ffirst_name=fdata['first_name']
flast_name=fdata['last_name']
femail=fdata.get('email')
try:
old_user=SUserProfile.objects.get(email_id=femail)
except:
new_user=SUserProfile(
username=fusername,
email_id=femail,
first_name=ffirst_name,
last_name=flast_name,)
new_user.save()

我在运行浏览器时收到的警告详细信息:

 Exception Type:    Warning

Exception Value: Data truncated for column 'email_id' at row 1

Exception Location:/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py in _warning_check, line 92

Traceback Switch to copy-and-paste view

usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response

response = callback(request, *callback_args, **callback_kwargs)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py in _wrapped_view

return view_func(request, *args, **kwargs)

...

▶ Local vars
/home/varun/webops/mysite/allauth/account/views.py in profileview

new_user.save()

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/base.py in save

self.save_base(using=using, force_insert=force_insert, force_update=force_update)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/base.py in save_base

result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py in _insert

return insert_query(self.model, objs, fields, **kwargs)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/query.py in insert_query

return query.get_compiler(using=using).execute_sql(return_id)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py in execute_sql

cursor.execute(sql, params)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py in execute

return self.cursor.execute(sql, params)

...

▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py in execute

return self.cursor.execute(query, args)

...

▶ Local vars
/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py in execute

if not self._defer_warnings: self._warning_check()

...

▶ Local vars
/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py in _warning_check

warn(w[-1], self.Warning, 3)

...

▶ Local vars

最佳答案

检查列格式和长度。在长度为 10 的 varchar 列中插入 20 个字符的字符串数据时,我遇到了同样的错误。

关于mysql - 警告 :data truncated for column 'username' at row 1 when using database mysql with django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com