Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django.db.utils.OperationalError:没有这样的表:blog\u类别_Python_Django_Exception - Fatal编程技术网

Python django.db.utils.OperationalError:没有这样的表:blog\u类别

Python django.db.utils.OperationalError:没有这样的表:blog\u类别,python,django,exception,Python,Django,Exception,我想以与类别相同的方式将标签添加到我的博客中,不幸的是在“makemigrations”期间,我遇到了一个错误: “django.db.utils.OperationalError:没有这样的表:blog_标记” 然后我尝试了我找到的所有方法,删除了迁移(init.py除外)和db.sqlite3,并尝试再次进行迁移。不幸的是,现在这个bug也影响了类别 以下是回溯: Traceback (most recent call last): File "C:\plantblog\vir

我想以与类别相同的方式将标签添加到我的博客中,不幸的是在“makemigrations”期间,我遇到了一个错误:

“django.db.utils.OperationalError:没有这样的表:blog_标记”

然后我尝试了我找到的所有方法,删除了迁移(init.py除外)和db.sqlite3,并尝试再次进行迁移。不幸的是,现在这个bug也影响了类别

以下是回溯:

Traceback (most recent call last):
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in 
execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: theblog_category

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\plantblog\blogplant\manage.py", line 22, in <module>
    main()
  File "C:\plantblog\blogplant\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\plantblog\virt\lib\site-packages\django\core\management\__init__.py", line 419, in 
    execute_from_command_line
    utility.execute()
  File "C:\plantblog\virt\lib\site-packages\django\core\management\__init__.py", line 413, in 
    execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\plantblog\virt\lib\site-packages\django\core\management\base.py", line 354, in 
    run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\plantblog\virt\lib\site-packages\django\core\management\base.py", line 393, in 
    execute
    self.check()
  File "C:\plantblog\virt\lib\site-packages\django\core\management\base.py", line 419, in check
    all_issues = checks.run_checks(
  File "C:\plantblog\virt\lib\site-packages\django\core\checks\registry.py", line 76, in 
    run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "C:\plantblog\virt\lib\site-packages\django\core\checks\urls.py", line 13, in 
    check_url_config
    return check_resolver(resolver)
  File "C:\plantblog\virt\lib\site-packages\django\core\checks\urls.py", line 23, in 
    check_resolver
    return check_method()
  File "C:\plantblog\virt\lib\site-packages\django\urls\resolvers.py", line 412, in check
    for pattern in self.url_patterns:
  File "C:\plantblog\virt\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\plantblog\virt\lib\site-packages\django\urls\resolvers.py", line 598, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\plantblog\virt\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\plantblog\virt\lib\site-packages\django\urls\resolvers.py", line 591, in 
    urlconf_module
    return import_module(self.urlconf_name)
  File "C:\Users\Gryzelda\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", 
    line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "C:\plantblog\blogplant\blogplant\urls.py", line 8, in <module>
    path('', include('theblog.urls')),
  File "C:\plantblog\virt\lib\site-packages\django\urls\conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "C:\Users\Gryzelda\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", 
    line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "C:\plantblog\blogplant\theblog\urls.py", line 3, in <module>
    from .views import HomeView, PostDetailView, AddPostView, UpdatePostView, DeletePostView, 
    CategoryView, TagView
  File "C:\plantblog\blogplant\theblog\views.py", line 5, in <module>
    from .forms import PostForm, EditForm
  File "C:\plantblog\blogplant\theblog\forms.py", line 7, in <module>
    for item in choices:
  File "C:\plantblog\virt\lib\site-packages\django\db\models\query.py", line 280, in __iter__
    self._fetch_all()
  File "C:\plantblog\virt\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:\plantblog\virt\lib\site-packages\django\db\models\query.py", line 140, in __iter__
    return compiler.results_iter(tuple_expected=True, chunked_fetch=self.chunked_fetch, 
    chunk_size=self.chunk_size)
  File "C:\plantblog\virt\lib\site-packages\django\db\models\sql\compiler.py", line 1124, in 
    results_iter
    results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch, chunk_size=chunk_size)
  File "C:\plantblog\virt\lib\site-packages\django\db\models\sql\compiler.py", line 1169, in 
    execute_sql
    cursor.execute(sql, params)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 98, in execute
    return super().execute(sql, params)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 75, in 
    _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:\plantblog\virt\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:\plantblog\virt\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in 
    execute
    return Database.Cursor.execute(self, query, params)
    django.db.utils.OperationalError: no such table: theblog_category
URL

urlpatterns = [
    path('', HomeView.as_view(), name="home"),
    path('post/<int:pk>', PostDetailView.as_view(), name='post-detail'),
    path('post/add', AddPostView.as_view(),name='add_post'),
    path('post/edit/<int:pk>', UpdatePostView.as_view(), name='update_post'),
    path('post/delete/<int:pk>', DeletePostView.as_view(), name='delete_post'),
    path('about-me', views.aboutme, name='aboutme'),
    path('contact.html', views.contact, name='contact'),
    path('category/<str:cats>', CategoryView, name='category'),
    path('search-blogs/', views.BlogSearchView.as_view(), name='search_blogs'),
    path('tag/<str:tags>', TagView, name='tag'),
]
class Category(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('home')

class Tag(models.Model):
    namee = models.CharField(max_length=255)

    def __str__(self):
        return self.namee

    def get_absolute_url(self):
        #return reverse('post-detail', args=(str(self.id)))
        return reverse('home')

class Post(models.Model):
    title = models.CharField(max_length=255)
    header_image = models.ImageField(null = True, blank=True, upload_to="images/" )
    title_tag = models.CharField(max_length=255)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    body = RichTextField(blank=True, null=True)
    post_date = models.DateField(auto_now_add=True)
    category = models.CharField(max_length=255, default='brak kategorii' )
    tag = models.CharField(max_length=255)

    class Meta:
        ordering = ['-id']

    def __str__(self):
        return self.title + ' | ' + str(self.author)

    def get_absolute_url(self):
        return reverse('home')
choices = Category.objects.all().values_list('name','name')
choice_list = []

for item in choices:
    choice_list.append(item)

tags = Tag.objects.all().values_list('namee','namee')
tag_list = []

for it in tags:
    tag_list.append(it)

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = ('title', 'title_tag', 'author', 'category', 'tag', 'body', 'header_image')

    widgets = {
        'title': forms.TextInput(attrs={'class': 'form-control'}),
        'title_tag': forms.TextInput(attrs={'class': 'form-control'}),
        'author': forms.Select(attrs={'class': 'form-control'}),
        'category': forms.Select(choices=choice_list, attrs={'class': 'form-control'}),
        'tag': forms.Select(choices=tag_list, attrs={'class': 'form-control'}),
        'body': forms.Textarea(attrs={'class': 'form-control'}),
    }
表格

urlpatterns = [
    path('', HomeView.as_view(), name="home"),
    path('post/<int:pk>', PostDetailView.as_view(), name='post-detail'),
    path('post/add', AddPostView.as_view(),name='add_post'),
    path('post/edit/<int:pk>', UpdatePostView.as_view(), name='update_post'),
    path('post/delete/<int:pk>', DeletePostView.as_view(), name='delete_post'),
    path('about-me', views.aboutme, name='aboutme'),
    path('contact.html', views.contact, name='contact'),
    path('category/<str:cats>', CategoryView, name='category'),
    path('search-blogs/', views.BlogSearchView.as_view(), name='search_blogs'),
    path('tag/<str:tags>', TagView, name='tag'),
]
class Category(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('home')

class Tag(models.Model):
    namee = models.CharField(max_length=255)

    def __str__(self):
        return self.namee

    def get_absolute_url(self):
        #return reverse('post-detail', args=(str(self.id)))
        return reverse('home')

class Post(models.Model):
    title = models.CharField(max_length=255)
    header_image = models.ImageField(null = True, blank=True, upload_to="images/" )
    title_tag = models.CharField(max_length=255)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    body = RichTextField(blank=True, null=True)
    post_date = models.DateField(auto_now_add=True)
    category = models.CharField(max_length=255, default='brak kategorii' )
    tag = models.CharField(max_length=255)

    class Meta:
        ordering = ['-id']

    def __str__(self):
        return self.title + ' | ' + str(self.author)

    def get_absolute_url(self):
        return reverse('home')
choices = Category.objects.all().values_list('name','name')
choice_list = []

for item in choices:
    choice_list.append(item)

tags = Tag.objects.all().values_list('namee','namee')
tag_list = []

for it in tags:
    tag_list.append(it)

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = ('title', 'title_tag', 'author', 'category', 'tag', 'body', 'header_image')

    widgets = {
        'title': forms.TextInput(attrs={'class': 'form-control'}),
        'title_tag': forms.TextInput(attrs={'class': 'form-control'}),
        'author': forms.Select(attrs={'class': 'form-control'}),
        'category': forms.Select(choices=choice_list, attrs={'class': 'form-control'}),
        'tag': forms.Select(choices=tag_list, attrs={'class': 'form-control'}),
        'body': forms.Textarea(attrs={'class': 'form-control'}),
    }

Django正在初始化从URL.py文件开始的所有导入,该文件将返回到forms.py文件,这是有问题的代码:

choices = Category.objects.all().values_list('name','name')
choice_list = []

for item in choices:
    choice_list.append(item)

tags = Tag.objects.all().values_list('namee','namee')
tag_list = []
Django试图在启动时对数据库中尚不存在的表类别进行查询,不幸的是,这也阻止了诸如makemigrations之类的操作,因此重写forms init函数并将代码放在那里

大概是这样的:

class PostForm(forms.ModelForm):

    .....

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        choices = Category.objects.all().values_list('name','name')
        choice_list = []

        for item in choices:
            choice_list.append(item)
        self.fields['category'].choices = choice_list

Django正在初始化从URL.py文件开始的所有导入,该文件将返回到forms.py文件,这是有问题的代码:

choices = Category.objects.all().values_list('name','name')
choice_list = []

for item in choices:
    choice_list.append(item)

tags = Tag.objects.all().values_list('namee','namee')
tag_list = []
Django试图在启动时对数据库中尚不存在的表类别进行查询,不幸的是,这也阻止了诸如makemigrations之类的操作,因此重写forms init函数并将代码放在那里

大概是这样的:

class PostForm(forms.ModelForm):

    .....

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        choices = Category.objects.all().values_list('name','name')
        choice_list = []

        for item in choices:
            choice_list.append(item)
        self.fields['category'].choices = choice_list

对不起,我不太明白怎么做。我是begginer。我用一个示例编辑了答案,如果它对您有效,请将其标记为接受:)我成功地进行了迁移,但知道我有这个问题:“FieldError at/无法将关键字“post”解析为field。选择包括:作者、作者id、正文、类别、标题、图片、id、发布日期、标签、标题、标题标签‘你知道这是什么意思吗?我不明白……除非我看到完整的堆栈跟踪,否则我不能说,可能会作为单独的问题提问,但它可能来自“字段=(“标题”、“标题标记”、“作者”、“类别”、“标记”、“正文”、“标题图像”),在您的表单中,可能您添加了一个不在您的模型中的字段。抱歉,但我不完全理解如何执行此操作。我是begginer。我用一个示例编辑了答案,如果它对您有效,请将其标记为接受:)我成功地进行了迁移,但知道我有这个问题:“FieldError at/无法将关键字“post”解析为field。选择包括:作者、作者id、正文、类别、标题、图片、id、发布日期、标签、标题、标题标签‘你知道这是什么意思吗?我不明白…除非我看到完整的堆栈跟踪,否则我不能说,可能作为单独的问题提问,但它可能来自“字段=(“标题”、“标题标记”、“作者”、“类别”、“标记”、“正文”、“标题图像”),在您的表单中,可能您添加了一个不在模型中的字段。