Skip to content
Advertisement

Django Error: ValueError: Field ‘id’ expected a number but got ‘Нет’

I was adding a new model, but had the error ValueError: Field 'id' expected a number but got 'Нет'. After that I deleted a new model, but error don’t disappear. I tried to change models.py, admin.py, form.py and I even deleted fully models.py, but it didn’t change anything. models.py without choices

class Card(models.Model): 
    name = models.CharField("Наименование постановления" ,max_length=200)
    date = models.DateField("Дата вынесения:",  null=True, blank=True)
    case_number = models.CharField("Номер дела:", max_length=40, null=True, blank=True)
    documents = models.URLField("Связанные документы (ссылки):", max_length=300, blank=True, null=True)
    trial = models.CharField("Наименование суда", max_length=37, choices=TRIALS, blank=True, null=True)
    instance = models.CharField("Инстанция:", max_length=12, choices=INSTANCE_CHOICES, blank=True, null=True)
    intial = models.CharField("Первоначальное решение первой инстанции", choices=REQUIREMENTS, blank=True, null=True, max_length=200)
    counter = models.CharField("Встречное решение первой инстанции", choices=REQUIREMENTS,blank=True, null=True, max_length=200)
    appellate = models.CharField("Решение апелляционной инстанции", choices=CHOICES, blank=True, null=True, max_length=200)
    cassation = models.CharField("Решение кассационной инстанции", choices=CHOICES,blank=True, null=True, max_length=200)
    proceeding = models.CharField("Вид судопроизводства:", max_length=16, choices=PROCEEDING_CHOICES,  blank=True, null=True)
    first_dispute = models.CharField("Категория спора (подкатегория 1)", max_length=122, choices=FIRST_DISPUTE, blank=True, null=True)
    second1_dispute = models.CharField("Категория спора (подкатегория 2-1)", max_length=122, choices=SECOND1_DISPUTE, blank=True, null=True)
    second2_dispute = models.CharField("Категория спора (подкатегория 2-2)", max_length=122, choices=SECOND2_DISPUTE, blank=True, null=True)
    third_dispute = models.CharField("Категория спора (подкатегория 3)", max_length=122, choices=THIRD_DISPUTE, blank=True, null=True)
    review = models.CharField("История рассмотрения:", max_length=4, choices=YES_OR_NO_CHOICES, blank=True, null=True)
    original_claim = models.CharField("Первоначальное требование:", max_length=300, blank=True, null=True)
    counter_claim = models.CharField("Встречное требование:", max_length=300, blank=True, null=True)
    description = models.TextField("Полное постановление",  default='Полное постановление отсутствует.')
    upload = models.FileField(upload_to="uploads/%Y/%m/%d/", blank=True, null=True)
    class Meta:
        ordering = ["-date"]
    def __str__(self):
        return self.name 

I can’t makemigrations. Full error:

return int(value)
ValueError: invalid literal for int() with base 10: 'Нет'

Choices that contains the election with “Нет”:

  YES_OR_NO_CHOICES = (
        ('Есть', 'Есть'), 
        ('Нет', 'Нет'),
    )
    CHOICES = (
        ("Нет", "Нет"), 
        ("Изменено", "Изм."), 
        ("Отказано", "Отк."),)
 

Advertisement

Answer

Can you share your migrations so can see it more clearly? Because there is no problem with your model. Maybe the type of a value set as default in your previous migrations does not match the field.

from django.db import migrations, models

class Migration(migrations.Migration):
initial = True

operations = [
    migrations.CreateModel(
        name='Card',
        fields=[
            ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ('name', models.CharField(max_length=200, verbose_name='Наименование постановления')),
            ('date', models.DateField(blank=True, null=True, verbose_name='Дата вынесения:')),
            ('case_number', models.CharField(blank=True, max_length=40, null=True, verbose_name='Номер дела:')),
            ('documents', models.URLField(blank=True, max_length=300, null=True, verbose_name='Связанные документы (ссылки):')),
            ('appellate', models.CharField(blank=True, choices=[('Нет', 'Нет'), ('Изменено', 'Изм.'), ('Отказано', 'Отк.')], max_length=200, null=True, verbose_name='Решение апелляционной инстанции')),
            ('cassation', models.CharField(blank=True, choices=[('Нет', 'Нет'), ('Изменено', 'Изм.'), ('Отказано', 'Отк.')], max_length=200, null=True, verbose_name='Решение кассационной инстанции')),
            ('review', models.CharField(blank=True, choices=[('Есть', 'Есть'), ('Нет', 'Нет')], max_length=4, null=True, verbose_name='История рассмотрения:')),
            ('original_claim', models.CharField(blank=True, max_length=300, null=True, verbose_name='Первоначальное требование:')),
            ('counter_claim', models.CharField(blank=True, max_length=300, null=True, verbose_name='Встречное требование:')),
            ('description', models.TextField(default='Полное постановление отсутствует.', verbose_name='Полное постановление')),
            ('upload', models.FileField(blank=True, null=True, upload_to='uploads/%Y/%m/%d/')),
        ],
        options={
            'ordering': ['-date'],
        },
    ),
]
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement