【发布时间】:2015-03-23 10:22:31
【问题描述】:
我有一个名为 A 的模型,其中包含以下字段
class A(models.Model):
f_name = models.CharField(max_length=30, null=True, blank=True)
l_name = models.CharField(max_length=30, null=True, blank=True)
email = models.EmailField(unique=False)
phone = models.CharField(max_length=30, null=True, blank=True)
现在我正在从模型 A 创建另一个模型 B
class B(A):
class Meta:
proxy = True
B 的管理类是
class BAdmin(admin.ModelAdmin):
list_display = ('email','first_name', 'last_name', 'phone')
我只想在管理站点中的模型 B 中显示与模型 A 不同的电子邮件?
注意:我不想打扰模型 A 但我想在 BAdmin 中获得唯一的电子邮件记录
例如模型 A 中的记录
- test2@xyz.com test2 xxx
- test2@xyz.com test2 xxx
- test3@zxc.com test3 xyz
我想在模型 B 管理员中显示唯一记录
- test2@xyz.com test2 xxx
- test3@zxc.com test3 xyz
我尝试通过
在 BAdmin 中编写查询集def queryset(self, request):
qs = super(BAdmin, self).queryset(request)
qs = qs.distinct('email')
return qs
当我在上面写的时候,我得到 DISTINCT ON fields is not supported by this database backend(MySQL) 错误是否有另一种方法来显示模型 B 中的唯一记录?
【问题讨论】:
标签: mysql django django-admin