我一直收到上面的错误,我仍然不确定我的代码的哪个组件违反了这个。下面是我的模型.py地址:
def get_image_path(instance, filename):
return os.path.join('photos', str(instance.id), filename)
# Create your models here.
class Textbook(models.Model):
founder = models.CharField(max_length=256)
title = models.CharField(max_length=256)
cover = models.ImageField(upload_to=get_image_path, blank=True, null=True)
def __str__(self):
return self.title
class Page(models.Model):
textbook = models.ForeignKey(Textbook,related_name="pages",blank=True, null=True)
page_title = models.CharField(max_length = 256,blank=True, null=True)
page_num = IntegerRangeField(min_value=0,max_value=256, blank=True, null=True)
def getTextID(self):
return self.textbook.id
def __str__(self):
return self.page_title
def iterSave(self):
pages = self.textbook.pages
MAX_PAGE = pages.aggregate(Max('page_num'))
try:
cpy = pages.get(page_num = self.page_num)
for page in pages:
if page.page_num >= self.page_num:
obj,created = Page.objects.update_or_create(page_title = page.page_title, page_num = page.page_num+1, textbook = page.textbook)
except:
if self.page_num > MAX_PAGE:
obj,created = Page.objects.update_or_create(page_title = self.page_title, page_num = self.page_num+1, textbook = self.textbook)
def save(self, *args,**kwargs):
self.iterSave()
super(Page,self).save(*args, **kwargs)
class Section(models.Model):
page = models.ForeignKey(Page,related_name="sections")
section_title = models.CharField(max_length=256)
text = RichTextField(config_name='awesome_ckeditor')
def __str__(self):
return self.section_title
我知道这与查询函数有关,但我不确定是什么错误导致了这个错误。你知道吗
这是我的管理员.py如果有帮助:
admin.site.register(Section)
admin.site.register(Textbook)
admin.site.register(Page)
我有一个助手函数:
from django.db import models
class IntegerRangeField(models.IntegerField):
def __init__(self, verbose_name=None, name=None, min_value=None, max_value=None, **kwargs):
self.min_value, self.max_value = min_value, max_value
models.IntegerField.__init__(self, verbose_name, name, **kwargs)
def formfield(self, **kwargs):
defaults = {'min_value': self.min_value, 'max_value':self.max_value}
defaults.update(kwargs)
return super(IntegerRangeField, self).formfield(**defaults)
还有我的视图.py地址:
def index(request):
books = Textbook.objects.all()
ret = {}
for o in books:
ret[o.id] = o
ret['books'] = books
return render(request,'index.html', ret)
def genpage(request, bid = -1, pid = 1):
b = Textbook.objects.get(id = int(bid))
page = b.pages.get(page_num = int(pid))
sections = page.sections.all()
if b.pages.filter(page_num = page.page_num+1).exists():
next_page = page.page_num+1
else:
next_page = -1
if b.pages.filter(page_num = page.page_num-1).exists():
prev_page = page.page_num-1
else:
prev_page = -1
ret = {
'prev_page':prev_page,
'next_page':next_page,
'book':b,
'page_title': page.page_title,
'sections': sections,
}
我很困惑,因为这是一个错误,我是如此陌生。这个错误是在页面的save函数中调用super时出现的,但除此之外我不知道该怎么办。你知道吗
看起来好像您的} ,这就为您的模型添加了一个
ForeignKey
在某一点上使用了^{_order
字段。你知道吗既然已经删除了
order_with_respect_to
,就需要从数据库中删除该字段。希望创建一个新的迁移和迁移将解决这个问题。你知道吗相关问题 更多 >
编程相关推荐