当前位置: 首页 > 知识库问答 >
问题:

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

邴修远
2023-03-14

请帮助我从python Manage.py makemigrations中获取此错误

“post”的迁移:post/Migrations/0022_auto_20200929_1749.py-从post Traceback中删除字段类别-从post Traceback中删除字段标记(最近的调用为last):文件“manage.py”,第22行,在主()文件“manage.py”中,第18行,在主execute_from_command_line(sys.argv)文件“/usr/lib/python3.8/site-packages/django/core/management/init.py”中,第381行,在command(subcommand).run_from_argv(self.argv)文件“/usr/lib/python3.8/site-packages/django/core/management/base.py”中的第336行,在run_from_argv connections.close_all()文件“/usr/lib/python3.8/site-packages/django/db/utils.py”中的第224行,在close_all connection.close()文件“Python3.8/site-packages/django/db/backends/sqlite3/base.py”,第367行,在is_in_memo中ry_db返回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:'或database_name typeerror中返回database_name==':memory:'或'mode=memory':类型'posixpath'的参数不是

models.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)
> 
>     def publish(self):
>         self.published_date = timezone.now()
>         self.save()
> 
>     def __str__(self):
>         return self.title
>     def approved_comments(self):
>      return self.comments.filter(approved_comment=True)
> 
> class Comment(models.Model):
>     post = models.ForeignKey('post.Post', on_delete=models.CASCADE, related_name='comments')
>     name = models.CharField(max_length=200)
>     text = models.TextField()
>     email=models.EmailField(null=True)
>     created_date = models.DateTimeField(default=timezone.now)
>     approved_comment = models.BooleanField(default=False)
> 
>     def approve(self):
>         self.approved_comment = True
>         self.save()
> 
>     def __str__(self):
>         return self.text

共有1个答案

干浩阔
2023-03-14

错误在某种程度上被歪曲了,告诉它删除一个字段,该字段不存在(或者以前可能存在),但在进行迁移时不应该是错误的原因。

“post”的迁移:post/Migrations/0022_auto_20200929_1749.py-从post中删除字段类别-从post跟踪中删除字段标记

如果我是正确的,您可能正在使用Django3.1,它将BASE_DIR伪设置移到使用pathlib.path而不是纯字符串。对此的支持需要将str()添加到一些地方,比如sqlite驱动程序。

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

在这里阅读更多-在Django设置文件中使用Pathlib

 类似资料:
  • 我正在用python制作一个潜艇游戏,但当我试图运行它时,解释器给了我一个非常奇怪的错误:“TypeError:参数1必须是pygame.Surface,而不是type。”我试图在网上搜索我的答案,但这似乎不是很常见的错误。我也试着自己去发现错误,但我觉得一切都很好。下面是我认为错误所在的部分代码:

  • 我正在使用Cucumber与Watir网络驱动程序和Chrome浏览器。当我执行测试时,有时会出现如下错误: "Selenium::WebDriver::Error::InvalidSelectorError:无效的选择器:无法定位具有xpath表达式//a[包含(.,'Joao Moreira')]的元素,因为以下错误:TypeError:未能在'Document'上执行'createNSRes

  • 本文向大家介绍不能做switch()的参数类型是:相关面试题,主要包含被问及不能做switch()的参数类型是:时的应答技巧和注意事项,需要的朋友参考一下 switch 的参数不能为实型。    

  • 在以下代码中,我得到了此错误: TypeError[ERR_INVALID_ARG_TYPE]:原始参数的类型必须是Function。接收类型未定义 它说问题在第31行: 我在使用promisify图书馆时遇到问题。

  • OpenGL定义了C函数来管理资源。我编写了一个简单的包装器来以RAII的方式处理它们。函数对类似于和。但是,也有一些函数对适用于资源数组,例如和。对于前者,我编写了一个简单的类来完成这项工作,对于后者,我编写了另一个处理数组的类。然而,我注意到有时我只使用一个缓冲区或纹理,在那里我不必承担向量的费用,我想如果发布函数在开始时采用大小参数,我会专门化类析构函数,但是... 对于上述SSCCE g树

  • 所以我有那个代码,我是通过上传到Imgur v3使用Javahttps错误得到的,我在第50行得到一个错误,因为“列表”告诉我 类型列表不是泛型的;它不能用参数参数化 我能做些什么来解决这个问题? 我正在使用http://hc.apache.org/httpclient-3.x/并希望使用v3 API将图像上传到imgur。 编辑:更改导入后,我现在收到这些错误。 这就解决了这个问题,但又给了我两