Я нашел решение, в котором я могу искать своих членов по User.email, user.first_name или user.last_name и получать записи об участниках + дочерние записи - и при этом легко возвращаться к записи пользователя, если мне нужно , Проблема, с которой я столкнулся, заключалась в том, что мне нужно было найти своих участников по полям пользователя. Вместо того, чтобы изменять сайт администратора пользователя (django's auth_user), я изменил свой сайт администратора участника (член является моим расширением пользователя django).
admin.py
from DjangoSite.ManageProducts.models import Member, SaleItem
from django.contrib import admin
class MemSalesInline(admin.TabularInline):
model = SaleItem
fk_name = 'Seller'
class MemberAdmin(admin.ModelAdmin):
list_display = ['__str__', 'lname', 'fname'] # fname, lname not sortable
raw_id_fields = ("user",)
#this allows search "members" by User fields.
search_fields = ['user__email', 'user__last_name', 'user__first_name']
# include any child records here - child of "Member"
inlines = [MemSalesInline,]
admin.site.register(Member, MemberAdmin)
models.py
class Member(models.Model):
MemberID = models.AutoField(primary_key=True)
Country = models.ForeignKey(dmCountry, blank=True, null=True)
# plus more additional member info...
# these allow me to view email, last name and first name in the Member admin list page.
def __str__(self):
return "%s" % self.user.email
def lname(self):
return "%s" % self.user.last_name
def fname(self):
return "%s" % self.user.first_name