我有像
这样的模特class Customers(models.Model):
m1 = models.EmailField()
class Requests(models.Model):
m2 = models.EmailField()
class CustomersRequests(Customers):
class Meta:
proxy = True
我的问题是我想在CustomersRequests管理员中显示唯一的电子邮件,这样就是那些客户电子邮件在请求模型中。
例如:
v1@xyz.com
v2@xyz.com
v3@xyx.com
v1@xyz.com
v1@xyz.com
v3@xyx.com
v1@xyz.com
我只想在CustomersRequests中记录以下内容
v1@xyz.com
v3@xyx.com
我在CustomersRequests中将queryset写入不同的记录,但是这个数据库后端不支持mysql database给DISTINCT ON字段?
然后我如何显示独特的记录?在不打扰客户和请求模型的情况下?
答案 0 :(得分:0)
见这里:https://docs.djangoproject.com/en/1.7/ref/models/querysets/#django.db.models.query.QuerySet.distinct
仅在Postgres上支持选择.distinct()
内的字段。
要使其在其他后端上运行,您可能需要一个不同的策略。我没有测试过这些,但您可以尝试:
.annotate().order_by('field')
.order_by('field').distinct()