gpt4 book ai didi

python - Django : "ValueError: invalid literal for int() with base 10:" When adding an object to Category

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:14 25 4
gpt4 key购买 nike

我是 Django 的初学者。我正在尝试添加一个选项来在我的 Django 博客中添加类别。但是,我收到此错误:

ValueError: invalid literal for int() with base 10: 'category'

这是我在 models.py 中使用的代码:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
#from tinymce import HTMLField
#from froala_editor.fields import FroalaField
from redactor.fields import RedactorField



class PublishedManager(models.Manager):
def get_queryset(self):
return super(PublishedManager, self).get_queryset().filter(status='published')

class Category(models.Model):
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
title = models.CharField(max_length=250, verbose_name="Title")

class Meta:
verbose_name = "Category"
verbose_name_plural = "Categories"
ordering = ['title']

def __str__(self):
return self.title

class Post(models.Model):
STATUS_CHOICES = (
('draft', 'Draft'),
('published', 'Published'),
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique_for_date='publish')
author = models.ForeignKey(User, related_name='blog_posts')
content = RedactorField(verbose_name=u'Text')
publish = models.DateTimeField(default=timezone.now)
category = models.ForeignKey(Category, verbose_name="Category", default='category')
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')

objects = models.Manager() # The default manager.
published = PublishedManager() # The Dahl-specific manager.

class Meta:
ordering = ('-publish',)

def __str__(self):
return self.title

def get_absolute_url(self):
return reverse('blog:post_detail', args=[self.publish.year,
self.publish.strftime('%m'),
self.publish.strftime('%d'),
self.slug])



class Comment(models.Model):
post = models.ForeignKey(Post, related_name='comments')
name = models.CharField(max_length=80)
email = models.EmailField()
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)

class Meta:
ordering = ('created',)

def __str__(self):
return 'Comment by {} on {}'.format(self.name, self.post)

您能帮我解决这个问题吗?基本上,我正在尝试建立一个与 WordPress 非常相似的博客。它应该具有添加类别和标签的选项。

更新:
我通过以下方式更改了类别:

category = models.ForeignKey(Category, verbose_name="Category", null=True, blank=True)

但是现在,我收到此错误:

OperationalError at /blog/ no such table: blog_post

这是回溯:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/blog/

Django Version: 1.11.6
Python Version: 3.6.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'tinymce',
'redactor']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']


Template error:
In template C:\Windows\SysWOW64\mysite\blog\templates\blog\base.html, error at line 6
no such table: blog_post 1 : <! ---- https://www.elementcycles.net/ ---!>
2 : <!--https://www.catscarf.com-->
3 : {% load staticfiles %}
4 : <html>
5 : <head>
6 : <title>{% block titl e %}{% endblock %}</title>
7 :
8 : <!-- Bootstrap core CSS -->
9 : <link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
10 : <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
11 :
12 : <!-- FontAwesome icon fonts -->
13 : <link href="{% static "/css/font-awesome/css/font-awesome.min.css" %}" rel="stylesheet">
14 :
15 : <!-- Google Fonts -->
16 : <link href='https://fonts.googleapis.com/css?family=Raleway:400,700' rel='stylesheet' type='text/css'>


Traceback:

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
328. return Database.Cursor.execute(self, query, params)

The above exception (no such table: blog_post) was the direct cause of the following exception:

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\exception.py" in inner
41. response = get_response(request)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Windows\SysWOW64\mysite\blog\views.py" in post_list
12. return render(request, 'blog/post/list.html', {'posts': posts})

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\shortcuts.py" in render
30. content = loader.render_to_string(template_name, context, request, using=using)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\loader.py" in render_to_string
68. return template.render(context, request)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\backends\django.py" in render
66. return self.template.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render
207. return self._render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in _render
199. return self.nodelist.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render
990. bit = node.render_annotated(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render_annotated
957. return self.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\loader_tags.py" in render
177. return compiled_parent._render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in _render
199. return self.nodelist.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render
990. bit = node.render_annotated(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render_annotated
957. return self.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\loader_tags.py" in render
72. result = block.nodelist.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render
990. bit = node.render_annotated(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\base.py" in render_annotated
957. return self.render(context)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\defaulttags.py" in render
173. len_values = len(values)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\query.py" in __len__
232. self._fetch_all()

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\query.py" in _fetch_all
1118. self._result_cache = list(self._iterable_class(self))

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\query.py" in __iter__
53. results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
894. raise original_exception

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
884. cursor.execute(sql, params)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
80. return super(CursorDebugWrapper, self).execute(sql, params)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\utils.py" in __exit__
94. six.reraise(dj_exc_type, dj_exc_value, traceback)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\six.py" in reraise
685. raise value.with_traceback(tb)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)

File "C:\Users\Kanon\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
328. return Database.Cursor.execute(self, query, params)

Exception Type: OperationalError at /blog/
Exception Value: no such table: blog_post

最佳答案

您的默认值是错误的。类别是一个外键。为ForeignKeys 添加默认值并不好。并且foreginkey 值始终是整数。相关型号的id。

关于python - Django : "ValueError: invalid literal for int() with base 10:" When adding an object to Category,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47546420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com