【发布时间】:2016-02-06 20:48:25
【问题描述】:
我有两个模型,
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
surname = models.CharField(max_length=50)
def __unicode__(self):
return self.first_name
def get_last_name(self):
return self.last_name
def get_full_name(self):
return (self.first_name + self.surname + self.last_name)
class House(models.Model):
name = models.CharField(max_length=50)
persons = models.ManyToManyField(Person)
house_number = models.CharField(max_length=5)
def __unicode__(self):
return self.first_name
并且模型已在管理站点上注册。
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
pass
@admin.register(House)
class HouseAdmin(admin.ModelAdmin):
pass
对于模型Person,我希望管理站点在模型House 的ManyToManyField 上显示方法get_full_name() 而不是__unicode__() 和get_last_name。
我怎样才能做到这一点?
谢谢
【问题讨论】:
-
澄清一下,对于
Person,您希望在管理员中使用get_full_name(),但在其他任何地方使用first_name? -
@MikeCovington,对于
person,我希望人员管理网址/admin/app/person在模型House和@987654338 的ManyToManyField上显示get_full_name()和get_last_name@其他地方。
标签: python django django-admin