Мое поле модели не принимает символ "+" в данные. Использование поля CharField для модели

models.py

class Profile(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
    mobile = models.CharField(max_length=14,null=True)
    add = models.CharField(max_length=10,null=True)
    image = models.FileField(null=True)

    def __str__(self):
        return self.user.username 

когда я даю мобильный = +12345

в админке отображается как mobile = 12345

после редактирования и сохранения он показывает +12345

почему? и какое поле использовать для включения символа +

когда я даю mobile = +12345.

Вы передаете int, Django преобразует его в str, но число имеет значение 12345, а не +12345.

Что вам нужно сделать, так это сохранить его как строку, так:

Profile.objects.create(
    user=…,
    mobile='+12345',
    add=…,
    image=…
)
Вернуться на верх