Я пытаюсь получить доступ к определенному объекту с целочисленным значением первичного ключа. Проблема, с которой я сталкиваюсь, заключается в том, что в модели я явно определил свой первичный ключ, но не могу понять, по какой причине у меня возникает эта ошибка. Ошибка:
FieldError at /generic/robot/2/
Cannot resolve keyword 'id' into field. Choices are: robotID, robotName, robotprofile
URL-адрес:
path('generic/robot/<int:id>/', GenericRobotAPIView.as_view())
Модель:
class Robot(models.Model):
robotID = models.AutoField(db_column='robotID', primary_key=True)
robotName = models.CharField(db_column='robotName', max_length=50)
def __str__(self):
return self.robotName
Просмотр:
class GenericRobotAPIView(generics.GenericAPIView, mixins.ListModelMixin, mixins.CreateModelMixin,
mixins.UpdateModelMixin, mixins.DestroyModelMixin, mixins.RetrieveModelMixin):
serializer_class = RobotSerializer
queryset = Robot.objects.all()
lookup_field = 'id'
def get(self, request, id= None):
if id:
return self.retrieve(request)
else:
return self.list(request)
def post(self, request):
return self.create(request)
def put(self, request, id=None):
return self.update(request, id)
def delete(self, request, id):
return self.destroy(request, id)
Сериализатор:
class RobotSerializer(serializers.ModelSerializer):
class Meta:
model = Robot
fields = '__all__'
Я пробовал query_set.get (Robot.roboID) если я делаю это, это дает мне ошибку утверждения. Например, я пишу этот URL 'generic / robot / 2 /', это должно дать мне информацию об объекте этой модели, я знаю, что есть другие способы получить Detaiview, но сейчас я просто хочу использовать этот GenericAPIView, чтобы сделать вещь