无法将内联添加到Django站点管理框架。

8
admin.py文件如下:-
class SiteDetailInline(admin.TabularInline):
    model = SiteDetail 
    form = SiteDetailForm
    fields = ('name', )
    can_delete = False
    extra = 1
    max_num = 1

    def get_readonly_fields(self, request, obj=None):
       if obj:
           return ('clmsid',) + self.readonly_fields
       return self.readonly_fields

class SiteAdmin(admin.ModelAdmin):
    inlines = [ SiteDetailInline, ]
    def queryset(self, queryset):
        return Site.objects.filter(~Q(id = settings.SITE_ID))
    signals.post_save.connect(create_sites_default_user, sender=Site)

admin.site.unregister(Site)
admin.site.register(Site, SiteAdmin)

模型文件 models.py 如下:
class SiteDetail(models.Model):
    name = models.CharField(max_length=100, unique=True)
    client = models.ForeignKey(client)
    site = models.ForeignKey(Site)
    clmsid = models.CharField(max_length=15, unique=True, verbose_name='clms id', help_text='clms identifier', ) # unique identifier L-XXXXXX-id

    def save(self, *args, **kwargs):
        if "L-" != self.clmsid[:2]:
            self.clmsid = "%s-%s-%s" % ("L", self.accountid, self.id)
        super(SiteDetail, self).save(*args, **kwargs)

    def __unicode__(self):
        return u''

我希望在站点框架的管理界面中内联显示额外的站点详细信息。它没有显示任何错误,但是站点详细信息没有内联显示。请告诉我,我做错了什么。提前致谢。


请帮帮我,我在这个问题上卡住了。 - user2223867
请添加你的SiteDetailForm代码 - Dima Kudosh
如果您注释掉 form = ... 这一行,它还能正常工作吗? - FSp
1个回答

1

试试这个

def get_fields(self, request, obj=None):
    if obj:
       return ('clmsid',) + self.fields
    return self.fields

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接