請幫助我從 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")
.
添加回答
舉報
0/150
提交
取消