我正在处理一个我认为是标准Django网站的项目,但是在让我的管理部分显示正确的字段方面遇到了麻烦。
以下是我的models.py文件内容:
换句话说,一个项目可以有不同的技术对象,而不同的技术对象可以属于不同的项目(例如,项目X使用Python和Django创建,项目Y使用C#和SQL Server)。
然而,管理网站没有显示任何关于技术对象的用户界面。以下是我的admin.py:
我尝试将
错误。还尝试将
我正在使用Sqlite作为我的数据库,如果有帮助的话。
以下是我的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)。
然而,管理网站没有显示任何关于技术对象的用户界面。以下是我的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
表。也许我的syncdb出了些问题吗?我正在使用Sqlite作为我的数据库,如果有帮助的话。