Django admin:列表不正确(重复行)

时间:2015-12-06 10:40:50

标签: django django-admin

我的admin.py是这样的:

class ResizableAdmin(admin.ModelAdmin):
    class Media:
        css = {
        }
        js = ('js/vendor/jquery-1.11.2.min.js',)

class GroupeMotsForm(django.forms.ModelForm):
    mots = django.forms.ModelMultipleChoiceField(
        queryset=Mot.objects.all().order_by('groupes__description', 'texte'),
        widget=django.forms.SelectMultiple(attrs={'class': 'resize_dst'})
    )

    class Meta:
        model = GroupeMots
        fields = ['description', 'admin_taille_fenetre', 'mots', ]
        widgets = {
            'admin_taille_fenetre': django.forms.NumberInput(
                attrs={'class': 'resize_src'}
            )
        }


class GroupeMotsAdmin(ResizableAdmin):
    form = GroupeMotsForm

在我的数据库中,我在GroupeMots中只有一行:

only one row in GroupeMots

它在管理界面列表中显示3次:

displayed 3 times in the list

知道在哪里看? Django哪里有3个结果?他们都指向同一记录。我被卡住了。

1 个答案:

答案 0 :(得分:0)

我的模特就是这样:

class GroupeMots(models.Model):
    description = models.CharField(max_length=150)
    mots = models.ManyToManyField(Mot, blank=True)

    class Meta:
        ordering = ['mots__texte']

    def __str__(self):
        return u'{0}'.format(
            self.description
        )

问题来自ordering = ['mots__texte'],因为似乎有3个结果,所以“排序”会产生欺骗......我将其更改为description,现在没问题