У меня есть следующая модель, где я запрашиваю ввод данных пользователем.
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]