Bonjour,
J'ai une erreur dont je ne comprends pas pourquoi cela se produit.
Je reçois cette erreur l'erreur ci-dessous lors de l'utilisation du cadre de repos django dans un appel à un modèle qui a une clé étrangère.
Error:
Meta.fields contains a field that isn't defined on this FilterSet
From:
django_filters/filterset.py
Django version 1.8.5
django-filter version 0.11.0
Mon modèle est le suivant :
class Contract(models.Model):
idContract = models.AutoField(db_column='idContract',primary_key=True)
idClient = models.ForeignKey(Client, db_column='idClient',related_name='+')
contractmode = models.ForeignKey('Ccontractmode', db_column='ContractMode',related_name='+')
applicationdate = models.DateTimeField(db_column='applicationDate',null=True)
deliverydate = models.DateTimeField(db_column='deliveryDate', blank=True, null=True)
expirationdate = models.DateTimeField(db_column='expirationDate',null=True)
mode = models.CharField(max_length=16)
class Meta:
managed = False
db_table = 'Contract'
default_permissions = ('add', 'change', 'delete', 'view')
J'apprécierais beaucoup si vous pouviez me dire s'il s'agit d'un bug ou si j'ai quelque chose qui ne va pas.
Merci beaucoup.
Adam
Ok, je suis vraiment désolé, je viens de trouver le problème.
class ContractViewSet(viewsets.ModelViewSet):
permission_classes = (DjangoModelPermissions2,
DjangoObjectPermissions2,)
queryset = Contract.objects.all()
serializer_class = ContractSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ('applicationdate',)
dans filter_fields, je n'ai pas mis la virgule pour en faire un tuple.
Commentaire le plus utile
Ok, je suis vraiment désolé, je viens de trouver le problème.
dans filter_fields, je n'ai pas mis la virgule pour en faire un tuple.