我正在开发一个我认为非常标准的 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)
但是,管理站点不显示 Tech 对象的任何 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 作为我的数据库。