Ошибка для моей модели с ManyToManyField в Django

Я работаю над личным проектом, который использует API и имеет аутентификацию пользователей с помощью JWT (но используется в сериализаторе). Я хотел реализовать ManyToManyField для user и city, но это не работает должным образом. Вот расширенная модель, которую я нашел . Я хочу, чтобы UserSearchLocation хранил City и при входе в систему видел город, в то время как другие пользователи не увидят его до тех пор, пока не выполнят поиск по тому же городу.

models.py

    from django.db import models
    from django.contrib.auth.models import User
    
    class UserSearchLocation(models.Model):
        id = models.AutoField(primary_key=True, editable=False)
        search = models.CharField(max_length=50, null=True)
        user = models.ManyToManyField(User, related_name="my_cities", blank=True)
        
        def __str__(self):
            return self.search
    
    
    class City(models.Model):
        user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
        city = models.ForeignKey(UserSearchLocation, on_delete=models.SET_NULL, null=True)
        
        id = models.AutoField(primary_key=True, editable=False)
        location = models.CharField(max_length=85)
        
        def __str__(self):
            return f'{self.location}, {self.country_code}'
    
        def save(self, *args, **kwargs):
            self.location = self.location.capitalize()
            self.country = self.country.capitalize()
            self.country_code = self.country_code.capitalize()
            return super(City, self).save(*args, **kwargs)

serializers.py

    class ForecastSerializer(serializers.ModelSerializer):
        id = serializers.IntegerField()
        city = serializers.StringRelatedField()
        country_code = serializers.StringRelatedField()
        country = serializers.StringRelatedField()
        
    class CitySerializer(serializers.ModelSerializer):
        class Meta:
            model = City
            fields = "__all__"
            
            
    class UserSearchLocationSerializer(serializers.ModelSerializer):
        class Meta:
            model = UserSearchLocation
            fields = "__all__"

Добавить в localhost/admin/ a CitySearchLocation работает, но когда нужно добавить City у меня возникает ошибка:

column base_city.location does not exist
LINE 1: ...ser_id", "base_city"."city_id", "base_city"."id", "base_city...

Ваша ошибка говорит, что city.location не существует - местоположение является CharField в вашей модели города - вы уверены, что выполнили миграции и у вас нет конфликтов именования?

Вернуться на верх