Django Admin не сохраняет данные в БД
Пытаюсь сохранить город из админки в бд, но что-то идет не так. Я создал форму на основе модели и выгружаю в choices уникальные города из всех пунктов выдачи. Все города появляются в форме админки, но при выборе ничего не сохраняется.
admin.py
from django.contrib import admin
from solo.admin import SingletonModelAdmin
from .forms import SenderCityCDEKForm
from .models import SenderCityCDEK
class SenderCityCDEKAdmin(SingletonModelAdmin, admin.ModelAdmin):
form = SenderCityCDEKForm
admin.site.register(SenderCityCDEK, SenderCityCDEKAdmin)
forms.py
from django import forms
from cart.cdek2 import CDEK2DB
from cart.models import *
class SenderCityCDEKForm(forms.ModelForm):
def get_cities_choices():
# Выгружаем все пункты выдачи СДЭК.
CDEK2DB.load_delivery_points()
citiesBD = DeliveryPointCDEK.objects.values_list("city_code", "city")
citiesChoices = list()
for city in citiesBD:
city_tuple = (str(city[0]), city[1])
if city_tuple not in citiesChoices:
citiesChoices.append(city_tuple)
return citiesChoices
city_code = forms.ChoiceField(choices=get_cities_choices)
class Meta:
model = SenderCityCDEK
fields = "__all__"
models.py
from django.db import models
from solo.models import SingletonModel
class DeliveryPointCDEK(models.Model):
city = models.CharField(max_length=255)
city_code = models.IntegerField()
address = models.CharField(max_length=255)
def __str__(self) -> str:
return self.city + " " + self.address
class Meta:
ordering = ["city", "address"]
class SenderCityCDEK(SingletonModel):
city_code = models.CharField(
max_length=255,
verbose_name="Город отправки заказа",
default="250",
)
def __str__(self) -> str:
return ""
class Meta:
verbose_name = "город отправки заказов СДЭК"