DRF Python, имя поля "" недействительно для модели - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть следующая модель, где я запрашиваю ввод данных пользователем.

from django.db import models


# Create your models here.

class PostGDT1AndUAV(models.Model):


    latitude_gdt = models.FloatField(name='Latitude Of GDT 1',
                                     unique=True, max_length=255, blank=False,
                                     help_text="Enter the location's Latitude, first when extracting from Google Maps.",
                                     default=1)
    longitude_gdt = models.FloatField(name='Longitude Of GDT 1',
                                      unique=True, max_length=255, blank=False,
                                      help_text="Enter the location's Longitude, second when extracting from Google "
                                                "Maps.",
                                      default=1)

    latitude_uav = models.FloatField(name='Latitude Of UAV',
                                     unique=True, max_length=255, blank=False,
                                     help_text="Enter the location's Longitude, second when extracting from Google "
                                               "Maps.",
                                     default=1)
    longitude_uav = models.FloatField(name='Longitude Of UAV',
                                      unique=True, max_length=255, blank=False,
                                      help_text="Enter the location's Longitude, second when extracting from Google "
                                                "Maps.",
                                      default=1)

и его сериализатор:


from rest_framework import serializers
from .models import PostGDT1AndUAV


class PostGDT1AndUAVSerializer(serializers.ModelSerializer):
    class Meta:
        model = PostGDT1AndUAV
        fields = ('latitude_gdt', 'longitude_gdt', 'latitude_uav', 'longitude_uav')

При попытке напечатать экземпляры объекта в django shell Я получаю следующую ошибку:


django.core.exceptions.ImproperlyConfigured: Field name `latitude_gdt` is not valid for model `PostGDT1AndUAV`.

Также я пытаюсь сделать поля модели более узкими, то есть, используя одну переменную,

Если бы я использовал обычный python ввод Я бы сделал что-то вроде этого:


        gdt1_coord = input("Enter the first GDT's Lat/Lon coordinates")

        lat1, lon1 = gdt1_coord.split(',')

        lat1 = float(lat1)
        lon1 = float(lon1)

        gdt1 = [lat1, lon1]

1 Ответ

2 голосов
/ 12 февраля 2020

name kwarg - это имя поля в базе данных, поэтому оно не может содержать пробелов. Попробуйте заменить его на verbose_name

...