0
我使用django 1.4。django slugfield數據庫錯誤
我越來越:
DatabaseError at/ no such column: userside_post.slug
這裏,是我的model.py
:
class Post(models.Model):
title = models.CharField(max_length = 100)
text = models.TextField()
slug = models.SlugField(unique=True)
def __unicode__(self):
return self.title
我urls.py
:
urlpatterns = patterns('userside.views',
url(r'^$','index'),
url(r'^/(?P<postslug>_*)/$', 'userside.views.singlePost'),
)
我views.py
:
def index(request):
post_list = Post.objects.all()
return render_to_response('userside/index.html',
{'post_list':post_list},
context_instance = RequestContext(request))
def singlePost(request,postslug):
post = Post.objects.get(slug=postslug)
context = {'post':post}
return render_to_response('userside/detail.html',context,context_instance=RequestContext(request))
和我的模板文件:
{% if post_list %}
{% for x in post_list %}
<p><a href="/{{ x.slug }}/">{{ x.title }}</a></p>
<p>{{ x.text }}</p>
<hr>
{% endfor %}
{% else %}
<div class="center">No records! (but looks like code works correctly!)</div>
{% endif %}
,這是manage.py的SQL使用側輸出:
BEGIN;
CREATE TABLE "userside_post" (
"id" integer NOT NULL PRIMARY KEY,
"title" varchar(100) NOT NULL,
"text" text NOT NULL,
"slug" varchar(50) NOT NULL UNIQUE
)
;
COMMIT;
但PRAGMA table_info()輸出爲:
0|id|integer|1||1
1|title|varchar(100)|1||0
2|text|text|1||0
我想要做的是,在網址上使用slu。。 sth-like-this
and last thing;
我希望prepopulated_fields自動生成slu posts帖子標題,這需要django管理員。
但在我的項目中,我不打算使用django的管理員。我正在編寫一個新的管理頁面。
我能爲此做些什麼?
謝謝。
是運行sql命令。即使我重新創建我的表。但它仍然是相同的 – alix 2012-08-02 13:15:00
你檢查了'DESCRIBE TABLE userside_post;'?你可以通過添加該命令的輸出以及從「python manage.py sql userside」來編輯你的問題嗎? – 2012-08-02 13:19:34
你是如何「重新創建」表格的。你是否真的放棄了它,然後再次運行CREATE TABLE或者只是運行'syncdb'。如果你在不刪除表的情況下運行'syncdb',它*不會*重新創建它或者以任何方式改變它。 – 2012-08-02 15:03:57