(学习记录4)django里数据的增删改查

本文详细介绍了在 Django 中如何进行数据的增删改查操作,包括通过 admin 站点输入数据时的注意事项、解决字符集问题的方法,以及使用 shell 实现数据操作。此外,还探讨了过滤查询、聚合函数、排序和关联过滤查询等高级功能,提供了丰富的示例代码。
摘要由CSDN通过智能技术生成

admin站点输入数据

在django使用admin管理员的时候出现如下错误

Please enter the correct username and password for a staff account. 
Note that both fields may be case-sensitive.

原因有 2 个:
1、没有这个用户
2、Django在使用默认的认证系统进行登录校验的时候authenticate函数会连同数据库里面的is_active一起验证,
这样的我们这么写的代码就会有问题

user=authenticate(username=username,password=password)
	if user:
		if user.is_active:
			login(request,user)
            return redirect(reverse('goods:index'))
        else:
            return render(request,"login.html",{
   "errmsg":"用户未激活"})
        else:
            return render(request,"login.html",{
   "errmsg":"用户名或者密码错误"})

解决方法有 3 个:

1、python manage.py createsuperuser 
2、清空数据库,此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。
python manage.py flush
python manage.py createsuperuser
3、进入mysql,修改 auth_user 这张表:is_active 原来为0 (No),改为1 (yes) 就行了
insert into auth_user(is_active) values('yes');

4、让 if user.is_active:段代码任何情况下都不会被执行

解决方法:
在 settings.py 文件里加上下面的配置就行
不会检测用户的活跃状态

AUTHENTICATION_BACKENDS = [‘django.contrib.auth.backends.AllowAllUsersModelBackend’]

如果要在 admin 站点显示自己的表,需要在 admin.py 添加:

from 子应用 import models
admin.site.register(models.BookInfo)
admin.site.register(models.PeopleInfo)

在 django 2.2.5 版本中,在 settings.py 里导入模块,必须在 SECRET_KEY 的下面,否则会抛出异常:

django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

Django, admin 站点页面,中文名称会自动加s (没有 plural 会自动加 s),要去掉s :

class BookInfo(models.Model):
    name = models.CharField(max_length=10, unique=True, verbose_name='书名')

    class Meta:
        db_table = 'bookinfo'
	    # verbose_name = '图书' 
        verbose_name_plural = '图书'

    def __str__(self):
        # 定义每个数据对象的显示信息
        return self.name

课程需要在 mysql 录入一些数据,老师的是在 mysql 里面语句录入的,
但是我没有文档,需要自己敲字,因为内容太多,所以,我想在 admin 站点里面添加数据。
结果报错:

1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值