1

Django Admin インターフェイスの検索フィールドに関数名を表示したいのですが、そうすると

models.py:

class Adult(models.Model):    
    user = models.OneToOneField(User)
    firstname = models.CharField(max_length=100,
                                blank=True)
    lastname = models.CharField(max_length=100,
                                blank=True)
    def __unicode__(self):
        return self.user.username
    def Parent_Name(self):
      try:
        return '%s %s' % (adult.firstname,adult.lastname)
      except Exception:
        return ''
    getParentName.shot_description = 'adult'

Admin.py:

class AdultAdmin(admin.ModelAdmin):
    list_display = ('Parent_Name', 'Student_Name',)
    search_fields = ['Parent_Name',]

admin.site.register(Adult, AdultAdmin)

エラー: キーワード 'Parent_Name' をフィールドに解決できません。

関数名を search_fields に使用できるようにするには、これをどのように記述するのが正しいでしょうか?

4

2 に答える 2

1

次のsearch_fieldsようになります。

...誰かがそのテキストボックスで検索クエリを送信するたびに検索されるフィールド名のリストに設定します。

独自の検索関数を指定することはできません。これは、検索するフィールドを示す文字列のリストのみを受け入れるためです(関数を受け入れるlist_display前述のオプションと異なり、プログラムでリスト項目の値を返すことができます)。 。

githubsearch_fieldsでここ(およびその制限)を処理する適切なコードを確認できます。あなたができる最善のことは、関係に従うことです。

于 2012-08-13T08:53:26.897 に答える