Я работаю над тем, что я считаю довольно стандартным сайтом django, но мне не удается заставить мой раздел администратора отображать правильные поля.
Вот мои модели.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. Вот мой 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'>
Error. Также попытался добавить techs
в список fields
, но это дает
нет такой таблицы: projects_project_techs
Error. Я проверил, и нет таблицы projects_project_techs
, но есть таблица projects_tech
. Возможно, что-то напортачило в моем syncdb?
Я использую Sqlite в качестве базы данных, если это поможет.