我可以将Criterias
添加到某个地方。如何将Places
添加到条件中?
型号:
class Criterias(models.Model):
name = ...
class Places(models.Model):
name = ...
class PlacesToCriterias(models.Model):
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey()
criteria_group = models.ForeignKey(Criterias)
管理员 - 地点部分:
class PlaceCriteriasInlineAdmin(GenericTabularInline):
model = PlacesToCriterias
class PlacesAdmin(admin.ModelAdmin):
inlines = [PlaceCriteriasInlineAdmin]
admin.site.register(Places, PlacesAdmin)
在这种情况下,当我打开Places
管理员更改页面时,我可以将Criterias
项添加到我的地点'。
管理员 - CRITERIAS部分:
class CriteriaPlacesInlineAdmin(GenericTabularInline):
model = PlacesToCriterias
class CriteriasAdmin(admin.ModelAdmin):
inlines = [CriteriaPlacesInlineAdmin]
admin.site.register(Criterias, CriteriasAdmin)
在这种情况下,当我打开Criterias
管理员更改页面时,我无法将Places
项添加到我的标准',因为而不是places
我见criterias
。
如何在Places
管理页面获取Criterias
个项目?
答案 0 :(得分:0)
这很容易。 GenericTabularInline
必须更改为admin.TabularInline
class CriteriaPlacesInlineAdmin(admin.TabularInline):
model = PlacesToCriterias
class CriteriasAdmin(admin.ModelAdmin):
inlines = [CriteriaPlacesInlineAdmin]
admin.site.register(Criterias, CriteriasAdmin)
如果有人需要获取包含所选对象的下拉列表,而不是content_type
和object_id
字段,则解决方案为here。