2012-12-25 41 views
0

我試圖從這裏實現orderedmodel:https://github.com/kirelagin/django-orderedmodel不履行orderedmodel

但它失敗,DatabaseError Exception Value: no such column: qrgame_place.order

的文件一無所知,該模型應該包含場order說,所以我想父班級應該實施該領域? [編輯:是的,它是。試過...]

這裏有一些從Django的文件中的重要片斷:

# models.py 

import hashlib 
import random 
from django.db import models 
from orderedmodel import OrderedModel 


class Place(OrderedModel): 
    name = models.CharField(max_length=100) 
    clue = models.CharField(max_length=300) 
    code = models.CharField(max_length=7, editable=False) 

    def __unicode__(self): 
     return self.name 

    def save(self): 
     # Need a secret identifier for url. Using a hashed name (which 
     # is also secret until found. So no need to obscure more) 
     if not self.id: 
      hashsrc = self.name.encode('utf-8') 
      self.code = unicode(hashlib.sha1(hashsrc).hexdigest()[:7]) 
     super(Place, self).save() 



# admin.py 

from django.contrib import admin 
from qrgame.models import Place 
from orderedmodel import OrderedModelAdmin 


class PlaceAdmin(OrderedModelAdmin): 
    list_display = ['name', 'clue', 'reorder'] 

admin.site.register(Place, PlaceAdmin) 



# settings.py 

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 
    'orderedmodel', 
    'qrgame', 
) 

我已經跑python manage.py syncdb實現了這個之後。

任何想法有什麼不對? (Django版本是(1,4,1,'final',0))

回答

2

syncdb現在不能改變現有的表。你可以做到以下幾點:手動

  • DROP TABLE比運行syncdb
  • 運行manage.py reset qrgame但qrgame應用程序將會丟失
  • 使用任何現有的Django數據庫遷移解決方案的所有數據,如South
  • 在列表中手動添加列(提示:manage.py dbshell會給你db REPL。你可以從manage.py sqlall qrgame獲得列定義
  • dumpdataloaddata命令可以幫助你r在模式更改之間保存和恢復現有數據
+0

雖然!這是一個簡單的修復: - /我刪除了數據庫並重新填充它。 –