0

一般的な外部キーが存在するモデルに管理者検索を配置しようとしています。

admin.py

class privacySettingsAdmin(admin.ModelAdmin):
    fieldsets = (
        (None, {
            'fields': (
                'field_name',
                'level',

            )
        }),
        (('page/article'), {
            'classes': ('grp-collapse grp-open',),
            'fields': ('content_type', 'object_id', )
        }),
    )
    autocomplete_lookup_fields = {
        'generic': [['content_type', 'object_id']],
    }
    search_fields = ('object_id',)

を使って検索できますobject_idobject_idしかし、そのオブジェクトのフィールドを使用して検索したい。

元。ユーザーはモデルへの外部キーを持っています。username次に、 、first_nameemailおよびを使用して、そのユーザーのプライバシー設定を検索しますlast_name

前もって感謝します。

4

1 に答える 1

0

以下のコードを試してください:

models.py で:

class PrivacySettings(models.Model):
    ...
    def object_username(self):
        return self.object.username
    object_username = property(object_username)

    def object_first_name(self):
        return self.object.first_name
    object_first_name = property(object_first_name)

    def object_last_name(self):
        return self.object.last_name
    object_last_name = property(object_last_name)

    def object_email(self):
        return self.object.email
    object_email = property(object_email)

admin.py で:

class PrivacySettingsAdmin(admin.ModelAdmin):
    model = PrivacySettings
    fieldsets = (
        (None, {
            'fields': (
                'field_name',
                'level',

            )
        }),
        (('page/article'), {
            'classes': ('grp-collapse grp-open',),
            'fields': ('content_type', 'object_id', )
        }),
    )
    autocomplete_lookup_fields = {
        'generic': [['content_type', 'object_id']],
    }
    search_fields = ('object_id', 'object_username', 'object_first_name',
                     'object_last_name', 'object_email')
于 2015-08-03T09:32:27.817 に答える