Django Admin list_display で JSON フィールドから特定の値を表示したいと考えています。
models.py:
class Foo(models.Model):
client = models.ForeignKey(Client, verbose_name="Kunde")
description = models.CharField(verbose_name=u'Titel', max_length=100)
description_file = models.FileField(verbose_name="Vorschau", upload_to='postings', blank=True, help_text=u'Vorschau/Endfassung')
accepted_by_client = models.BooleanField(verbose_name="abgenommen", help_text=u"")
needs_correction = models.BooleanField(verbose_name=u"Korrektur nötig", help_text=u"")
active = models.BooleanField(verbose_name="Publiziert", help_text=u"")
ctime = models.DateTimeField(verbose_name="Angelegt am", blank=True, null=True)
valid_until = models.DateField(verbose_name=u"gültig bis", blank=True, null=True, default = lambda: datetime.datetime.now()+datetime.timedelta(days=28) )
valid_from = models.DateField(verbose_name=u"gültig ab", blank=True, default=datetime.datetime.now )
link = models.CharField(verbose_name="Formular", max_length=255, blank=True, help_text="generierter Link zum Formular")
admin_notes = models.TextField(u'Notizen für Mitarbeiter', blank=True, help_text=u"")
client_notes = models.TextField(verbose_name=u"Notizen für Kunde", blank=True, help_text=u"")
context = JsonField()
def __unicode__(self):
return self.client.company_name + ' : ' + str(self.id)
admin.py:
class FooAdmin(admin.ModelAdmin):
#list view
def apis(self, object):
data = Foo.context['bar']
return data
list_display = (
'id',
'client',
'description',
'active', 'ctime',
'valid_until',
'valid_from',
'clickable_preview_link',
'clickable_editor_link',
'apis'
)
admin.site.register(Foo, FooAdmin)
私の問題は、JSON フィールドの「コンテキスト」から単一の値にアクセスできないことです。空の列しか受け取っていません。
これどうやってするの?
前もって感謝します!