我的模特是
class Contrat(models.Model):
Procedure = models.ForeignKey(Procedure)
Contrat_text = models.CharField(max_length=150)
def __str__(self):
return self.Contrat_text
Class Document(models.Model):
Contrat = Contrat.objects.order_by('Contrat_text').distinct('Contrat_text')
isContrat = models.BooleanField(('Contrat'), default=True)
isCdC = models.BooleanField(('Cahier des Charges'), default=False)
isCR = models.BooleanField(('Cahier de Recette'), default=False)
def __str__(self):
return self.Contrat
我的管理模式是:
class DocumentAdmin(admin.ModelAdmin):
fields = ('Contrat', 'isContrat', 'isCdC', 'isCR')
list_display = ('id','isContrat', 'isCdC', 'isCR')
ordering = ('id',)
admin.site.register(Document, DocumentAdmin)
但我得到的是:
DISTINCT ON fields is not supported by this database backend
有人知道如何创建模型管理员而没有错误吗?
答案 0 :(得分:2)
你的问题在于这一行
Contrat = Contrat.objects.order_by('Contrat_text').distinct('Contrat_text')
.distinct()无法与sqlite3一起使用,因此您必须切换到类似postgres才能使用它或修改您的查询。另外Each field in your model should be an instance of the appropriate Field class.因此您错误地定义了Contrat模型字段。
答案 1 :(得分:0)
对于mysql:
您可以使用Model.objects.values_list('field').order_by('field').distinct()