I am trying to put admin search on model in generic foreign key is present.
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',)
i am able to search using object_id
. But i want search using the feilds of that object_id
object.
ex. User has a foreign key to model. then i want to search privacy setting of that user using username
, first_name
, email
and last_name
.
Thanks in advance.
Try below codes:
In 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)
In 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')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.