2014-06-30 14 views
8

admin.py przedstawia się następująco: -nie można dodać do django ramowa inline sciana

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 jest następujący: -

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'' 

chcę pokazać dodatkowe miejsce szczegóły wbudowane w administratora dla struktury serwisu. Nie daje żadnego błędu. Jednak szczegóły witryny nie są wyświetlane w trybie bezpośrednim. Daj mi znać, jaki błąd robię. Z góry dziękuję.

+0

proszę o pomoc, jestem źle zatrzymany z tego – user2223867

+0

proszę dodać swój kod do SiteDetailForm –

+0

to działa, jeśli skomentować linijkę '' formę = ...? – FSp

Odpowiedz

1

Spróbuj

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