我只是在学习Django,请原谅我的无知
这是我的模型.py:
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
admin = models.BooleanField("Admin Status")
class Team(models.Model):
name = models.CharField("Team Name", max_length=20, default="")
admins = models.ManyToManyField(User, related_name="admins")
members = models.ManyToManyField(User, related_name="members")
这是我的管理员
from django.contrib import admin
from .models import Team, Profile
from django.contrib.auth.models import User
class ProfileAdmin(admin.ModelAdmin):
list_display = ('user', 'admin')
admin.site.register(Profile, ProfileAdmin)
class TeamAdmin(admin.ModelAdmin):
list_display = ('name',)
def formfield_for_manytomany(self, db_field, request, **kwargs):
print(db_field)
if db_field.name == "admins":
kwargs["queryset"] = Profile.objects.filter(admin=True)
return super(TeamAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
admin.site.register(Team, TeamAdmin)
这很完美,但是我的管理页面上的管理员显示为“配置文件对象(1)”、“配置文件对象(2)”等等
我做错了什么?或者在哪里更改这些显示的方式
它采用
__str__
作为对象的名称,默认情况下使用Model object (pk)
。因此,您可以覆盖__str__
,例如:相关问题 更多 >
编程相关推荐