为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:“PosixPath”类型的参数不是 iterabl

类型错误:“PosixPath”类型的参数不是 iterabl

慕斯709654 2023-09-19 14:31:19
请帮助我从 python manage.py makemigrations 得到这个错误“post”的迁移:post/migrations/0022_auto_20200929_1749.py - 从帖子中删除字段类别 - 从帖子中删除字段标记回溯(最近一次调用最后):文件“manage.py”,第 22 行,在 main() 文件“manage”中.py”,第18行,在主execute_from_command_line(sys.argv)文件“/usr/lib/python3.8/site-packages/django/core/management/ init .py”,第381行,在execute_from_command_line utility.execute( )文件“ /usr/lib/python3.8/site-packages/django/core/management/init.py”,第 375 行,在执行 self.fetch_command(subcommand).run_from_argv(self.argv) 文件“/usr/lib/python3.8/site-packages/django/core/management/base.py”,第 336 行,在run_from_argvconnections.close_all()文件“/usr/lib/python3.8/site-packages/django/db/utils.py”中,第224行,在close_allconnection.close()文件“/usr/lib/python3 .8/site-packages/django/db/backends/sqlite3/base.py”,第 248 行,如果不是 self.is_in_memory_db() 则关闭:文件“/usr/lib/python3.8/site-packages/django/ db/backends/sqlite3/base.py”,第 367 行,is_in_memory_db 中 return self.creation.is_in_memory_db(self.settings_dict['NAME']) 文件“/usr/lib/python3.8/site-packages/django/db /backends/sqlite3/creation.py”,第 12 行,在 is_in_memory_db 中返回 database_name == ':memory:' 或数据库名称中的 'mode=memory' 类型错误:'PosixPath' 类型的参数不是 iterablmodels.py 从 django.db 导入模型> # Create your models here. from django.db import models from django.utils import timezone> > > class Post(models.Model):>     author = models.ForeignKey('auth.User', on_delete=models.CASCADE ,null=True)>     title = models.CharField(max_length=200,null=True)>     description=models.TextField(default='a')>     text = models.TextField(null=True)>     Img = models.ImageField(upload_to='images/',null =True)>     UserImg= models.ImageField(upload_to='images/user/',null =True)> >     created_date = models.DateTimeField(>             default=timezone.now)>     published_date = models.DateTimeField(>             blank=True, null=True)
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

该错误在某种程度上被歪曲了,告诉它删除一个field不存在的(或之前可能已经存在的),但不应成为迁移时错误的原因。

“post”的迁移:post/migrations/0022_auto_20200929_1749.py - 从帖子中删除字段类别 - 从帖子回溯中删除字段标签

如果我是正确的,您可能正在使用Django 3.1,它将 BASE_DIR 伪设置移至 usepathlib.Path而不是普通字符串。对此的支持需要添加str()到某些地方,例如 sqlite 驱动程序。

如果您查看设置文件中 BASE_DIR 的定义,它是否使用 Path() ?如果是这样,您可以在数据库设置中使用 str() ,即str(BASE_DIR / "something.sqlite").


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 50 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信