django admin. py foreign key instance of reverse query

  • 2021-07-26 08:36:07
  • OfStack

As shown below:


class OrderAdmin(admin.ModelAdmin):
  list_display = (
    '_nick_name', 'time_order', 'year', 'item', 'status', 'number',
    'money', 'deduction_point', 'deduction_account', 'pay',
    '_open_id', 'out_trade_no', )
  search_fields = [
    'user__nick_name', 'user__wechatuser__open_id',
    'out_trade_no']
  list_filter = ('year', 'item', 'status')

  def _nick_name(self, obj):
    return obj.user.nick_name

  def _open_id(self, obj):
    return obj.user.wechatuser.open_id

If you query foreign keys in list_display, you need to write your own methods. For example, _nick_name and _open_id in the above code

search_fields can be directly accessed as a foreign key


Related articles: