1

私のモデルは

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

エラーなしでモデル管理者を作成する方法を知っている人はいますか?

4

2 に答える 2

2

あなたの問題はこの行にあります

Contrat = Contrat.objects.order_by('Contrat_text').distinct('Contrat_text')

.distinct() は sqlite3 では使用できないため、postgres などに切り替えて使用するか、クエリを変更する必要があります。また、モデルの各フィールドは、適切な Field クラスのインスタンスである必要があります。そのため、Contrat モデル フィールドを誤って定義しています。

于 2015-02-12T20:17:23.247 に答える