【问题标题】:Django Mezzanine - Simple custom Admin FormDjango Mezzanine - 简单的自定义管理表单
【发布时间】: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


【解决方案1】:

好的,我修好了。创建和删除迁移是不够的。我不知道为什么,但这次我还必须删除 django_migrations 表中的条目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 2012-03-26
    • 2019-08-07
    • 2016-07-06
    • 1970-01-01
    • 2023-03-13
    • 2015-08-25
    • 2015-03-23
    相关资源
    最近更新 更多