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 = "город отправки заказов СДЭК"
Вернуться на верх