2017-10-19 4 views
0

Je continue à obtenir un L'objet 'Options' n'a pas d'attribut 'get_all_related_objects'. J'ai fait des recherches et les gens disent que c'est souvent un problème avec l'utilisation d'une ancienne version de django, mais j'utilise 1.11.6L'objet 'Options' n'a pas d'attribut 'get_all_related_objects' mais j'utilise déjà Django 1.11

lorsque je navigue vers l'URL: application/employés J'ai cette erreur.

Qu'est-ce que je fais mal?

Django Version:  1.11.6 
Exception Type:  AttributeError 
Exception Value:  

'Options' object has no attribute 'get_all_related_objects' 

autres numéros de version:

  • python: 2.7.14
  • cadre de repos: 3.1.1
  • virtualenv: 12.1.1

app/modèle:

class Employee(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    supervisor = models.ForeignKey('self', blank=True, null=True) 
    is_active = models.BooleanField(default=True) 
    is_supervisor = models.BooleanField(default=False) 

    class Meta: 
     ordering = ('last_name',) 

    def __str__(self): 
     return "{}".format(self.first_name + ' ' + self.last_name) 

app/sérialiseur:

class EmployeeSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Employee 

app/api.py:

class EmployeeApi(ListAPIView): 
    queryset = Employee.objects.all() 
    serializer_class = EmployeeSerializer 

app/url.py

urlpatterns = [ 
...  
url(r'^employees$', EmployeeApi.as_view()), 
] 
+0

support Django 1.11 est pas ajouté pour django-repos-cadre jusqu'à la version 3.7 je pense. Cela pourrait être votre raison. Essayez de mettre à jour django-rest-framework – anupsabraham

+0

@anupsabraham Ah ok! Cela pourrait expliquer d'autres choses qui se passent pour moi. Je suis TRÈS nouveau avec python et django, dhw puis-je mettre à jour django-rest-framework? en utilisant pip? –

+0

'pip installer -U djangorestframework' – anupsabraham

Répondre

2

Django v1.11 support is not added for django-rest-framework until version 3.7. Mise à niveau django-rest-framework devrait résoudre le problème.

Pour mettre à niveau django-repos-cadre, pip install -U djangorestframework

+0

Oui! C'est ce qu'il a fait. Je pense que c'est en fait la réponse à une autre question que j'ai posté, aussi: https: //stackoverflow.com/questions/46819746/import-error-from-django-core-handlers-wsgi-import-status-code-text, pourrait vous postez cette réponse là-bas et je la marquerai comme la réponse aussi bien? –