Jac*_* Ha 11 python django django-models
在我的models.py我有类似的东西:
class LocationGroup(models.Model):
name = models.CharField(max_length=200)
class Report(models.Model):
name = models.CharField(max_length=200)
locationgroups = models.ManyToManyField(LocationGroup)
Run Code Online (Sandbox Code Playgroud)
admin.py(标准):
admin.site.register(LocationGroup)
admin.site.register(Report)
Run Code Online (Sandbox Code Playgroud)
当我进入Report的管理页面时,它会显示一个很好的多选字段.如何在LocationGroup中添加相同的多选字段?我可以通过调用LocationGroup.report_set.all()来访问所有报告
我找到的解决方法是遵循ManyToManyFields与中间模型的说明.即使您没有使用"直通"模型功能,也只是假装自己并使用必要的ForeignKey创建存根模型.
# models: make sure the naming convention matches what ManyToManyField would create
class Report_LocationGroups(models.Model):
locationgroup = models.ForeignKey(LocationGroup)
report = models.ForeignKey(Report)
# admin
class ReportInline(admin.TabularInline):
model = models.Report_LocationGroups
class LocationGroupAdmin(admin.ModelAdmin):
inlines = ReportInline,
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1969 次 |
| 最近记录: |