【发布时间】:2018-04-03 07:59:00
【问题描述】:
我需要将工作机会部分添加到我的公司网站(作为 django 的介绍)。问题是,当我从夹层的页面模型继承我的模型时,它添加到管理员创建表单所有我不需要的字段(如发布日期、草稿字段、评论字段等)。我想让创建/编辑工作机会表格尽可能简单。 我试图从基本的models.Model继承它,但它会抛出一个错误......
Unknown column 'project_joboffer.id' in 'field list'"
我尝试自定义管理表单,但我仍然收到上面的错误。
models.py
class JobOffer(models.Model):
title = models.CharField(max_length=255, null=False, blank=False)
place = models.CharField(max_length=255, null=True, blank=True)
date = models.DateTimeField(auto_now_add=True)
content = models.TextField(blank=False,null=False)
published = models.BooleanField(default=True)
deleted = models.NullBooleanField()
forms.py
from django import forms
from ckeditor.widgets import CKEditorWidget
from models import JobOffer
class JobOfferForm(forms.ModelForm):
title = forms.CharField(max_length=255, required=True)
place = forms.CharField(max_length=255, required=False)
content = forms.CharField(required=True , widget=CKEditorWidget())
published = forms.BooleanField(initial=True)
deleted = forms.NullBooleanField()
# class Meta:
# model = JobOffer
admin.py
class JobOfferAdmin(admin.ModelAdmin):
form = JobOfferForm
admin.site.register(JobOffer, JobOfferAdmin)
【问题讨论】:
-
你做了
python manage.py makemigrations然后python manage.py migrate吗? -
是的,我每次对模型或表格进行一些更改时都会这样做。我怀疑夹层的默认管理表单期望 id 字段(可能还有其他字段)的名称与默认模型提供的名称不同。
标签: django forms admin mezzanine