【发布时间】:2010-09-14 17:23:43
【问题描述】:
我正在开发一个我认为是非常标准的 django 网站,但我无法让我的管理部分显示正确的字段。
这是我的models.py:
class Tech(models.Model):
name = models.CharField(max_length = 30)
class Project(models.Model):
title = models.CharField(max_length = 50)
techs = models.ManyToManyField(Tech)
换句话说,一个项目可以有不同的技术对象,不同的技术对象可以属于不同的项目(项目X是用Python和Django创建的,项目Y是C#和SQL Server)
但是,管理站点不显示技术对象的任何 UI。这是我的 admin.py:
class TechInline(admin.TabularInline):
model = Tech
extra = 5
class ProjectAdmin(admin.ModelAdmin):
fields = ['title']
inlines = []
list_display = ('title')
admin.site.register(Project, ProjectAdmin)
我尝试将TechInline 类添加到inlines 列表中,但这会导致
<class 'home.projects.models.Tech'> has no ForeignKey to <class 'home.projects.models.Project'>
错误。还尝试将techs 添加到fields 列表中,但这给出了一个
没有这样的表:projects_project_techs
错误。我验证了,没有projects_project_techs 表,但有一个projects_tech。是不是我的同步数据库搞砸了?
如果有帮助,我将使用 Sqlite 作为我的数据库。
【问题讨论】: