Почему Django Rest API id не в порядке? - PullRequest
0 голосов
/ 29 мая 2020

Итак, у меня есть django rest api с моделью вроде

class Data(models.Model):
node_id = models.ForeignKey("Node", on_delete=models.CASCADE)
timestamp = models.DateTimeField()
vibration = models.IntegerField()
moisture = models.IntegerField()
gps_latitude = models.CharField(max_length=250)
gps_longitude = models.CharField(max_length=250)
gyro_x = models.FloatField()
gyro_y = models.FloatField()
gyro_z = models.FloatField()
accelero_x = models.FloatField()
accelero_y = models.FloatField()
accelero_z = models.FloatField()
displacement = models.IntegerField()

Сериализатор выглядит следующим образом:

class DataSerializer(serializers.ModelSerializer):
class Meta:
    model = Data
    fields = '__all__'

И представления выглядят так:

class DataViewSet(viewsets.ModelViewSet):
    queryset = Data.objects.all()
    serializer_class = DataSerializer
    filter_backends = [DjangoFilterBackend]                              
    filterset_fields = ['node_id']

Вы можете получить доступ к моему API: https://gmlews.com/api/data/

Проблема в том, что мой идентификатор на веб-странице не работает. Все данные я получаю от raspberry pi. Откуда проблема? код от raspberry или мой django код отдыха?

После id 253 идёт id 255,257,259. Это должен быть идентификатор 254 и так далее по порядку. Как мне сделать так, чтобы этот идентификатор был в порядке?

1 Ответ

1 голос
/ 29 мая 2020

Вы должны добавить поле ordering в Meta вашей модели:

class SomeModel(models.Model):
    class Meta:
        ordering = ["id"]
...