ValueError: неверный литерал для int () с основанием 10: 'fee_code' - PullRequest
0 голосов
/ 01 июня 2019

при запуске

python manage.py migrate

выдает ошибку

ValueError: недопустимый литерал для int () с основанием 10: 'fee_code'

Я пытаюсь перенести мой код

from django.db import models
from django.utils import timezone
from students.models import gr_register, Classes, gardian 

class fees_type(models.Model):
    fee_code = models.AutoField(primary_key=True)
    fee_type = models.CharField(max_length=255, default=1)

    def __str__(self):
        return str(self.fee_type)

class concession_type(models.Model):
    concession_code = models.AutoField(primary_key=True)
    concession_type = models.CharField(max_length=255, default=1)
    concession_percent = models.CharField(max_length=255, default=1)

    def __str__(self):
        return str(self.concession_type)

class fees_source(models.Model):
    source_code = models.AutoField(primary_key=True)
    source_name = models.CharField(max_length=255, default='source_name')

    def __str__(self):
        return str(self.source_name)

class class_fees(models.Model):
    class_code = models.ForeignKey(Classes, on_delete=models.CASCADE)
    fee_code = models.ForeignKey(fees_type, on_delete=models.CASCADE, 
    default='fee_code')
    fees_amount = models.BigIntegerField(default=1000)

    def __str__(self):
        return str(self.fees_amount)

class fee(models.Model):
    BOOL_CHOICES = ((True, 'Yes'), (False, 'No'))

    Gr_num = models.ForeignKey(gr_register, on_delete=models.CASCADE, 
     default=231)
    fee_code = models.ForeignKey(fees_type, on_delete=models.CASCADE, 
     default=1)
    fee_dues = models. BigIntegerField(default=1000)
    paid_source = models.ForeignKey(fees_source, on_delete=models.CASCADE, 
    default=1)
    class_name = models.ForeignKey(Classes, on_delete=models.CASCADE, 
    default=1)
    paid = models.BooleanField(choices=BOOL_CHOICES, default=1)
    guradian_code = models.ForeignKey(gardian , on_delete=models.CASCADE, 
    default=1)
    due_date = models.DateField(default=timezone.now)
    paid_date = models.DateField(default=timezone.now)

    def __str__(self):
        return str(self.paid)

urls.py

path('', views.index, name='index'),

path('feestype/', views.feestype, name='feestype'),
path('addfeestype/', views.addfeestype, name='addfeestype'),
path('editfeestype/<int:pk>/', views.editfeestype, name='editfeestype'),
path('deletefeestype/<int:pk>/', views.deletefeestype, 
 name='deletefeestype'),

path('concessiontype/', views.concessiontype, name='concessiontype'),
path('addconcession/', views.addconcession, name='addconcession'),
path('editconcession/<int:pk>/', views.editconcession, 
 name='editconcession'),
path('deleteconcession/<int:pk>/', views.deleteconcession, 
  name='deleteconcession'),

path('feessource/', views.feessource, name='feessource'),
path('addfeessource/', views.addfeessource, name='addfeessource'),
path('editfeessource/<int:pk>/', views.editfeessource, 
 name='editfeessource'),
path('deletefeessource/<int:pk>/', views.deletefeessource, 
 name='deletefeessource'),

path('classfees/', views.classfees, name='classfees'),
path('addclassfees/', views.addclassfees, name='addclassfees'),
path('editclassfees/<int:pk>/', views.editclassfees, 
 name='editclassfees'),
path('delclassfees/<int:pk>/', views.delclassfees, name='delclassfees'),

path('fees/', views.fees, name='fees'),
path('addfees/', views.addfees, name='addfees'),
path('editfees/<int:pk>/', views.editfees, name='editfees'),

Ошибка трассировки:

Применить все миграции: admin,auth, типы контента, сборы, сеансы, студенты Выполнение миграций: применение fee.0001_initial ... Traceback (последний вызов был последним): файл «manage.py», строка 15, в execute_from_command_line (sys.argv), файл «C: \ Users»\ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ core \ management__init __. Py ", строка 381, в файле execute_from_command_line utility.execute ()" C: \ Users \ Hp \ AppData\ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ core \ management__init __. Py ", строка 375, в файле execute self.fetch_command (подкоманда) .run_from_argv (self.argv) Файл" C: \ Users "\ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ core \ management \ base.py ", строка 323, в наборе run_from_argvlf.execute (* args, ** cmd_options) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ core \ management \ base.py", строка364, в файле output output = self.handle (* args, ** options) файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ core \ management \"base.py ", строка 83, в упакованном файле res = handle_func (* args, ** kwargs)" C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \core \ management \ commands \ migrate.py ", строка 234, в дескрипторе fake_initial = fake_initial, файл" C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db\ migrations \ executor.py ", строка 117, в состоянии миграции = self._migrate_all_forwards (состояние, план, полный_план, fake = fake, fake_initial = fake_initial) Файл" C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ "Python37-32 \ lib \ site-packages \ django \ db \ migrations \ executor.py ", строка 147, в состоянии _migrate_all_forwards = self.apply_migration (состояние, миграция, fake = fake, fake_initial = fake_initial) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ migrations \ executor.py", строка 245, в состоянии apply_migration state =igration.apply(state, schema_editor) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ migrations \igration.py", строка 124, в операции применения.database_forwards (self.app_label, schema_editor, old_state, project_state) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ migrations \ operations \ fields.py"", строка 112, в поле database_forwards, файл" C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ backends \ base \ schema.py ", строка433, в определении add_field, params = self.column_sql (модель, поле, include_default = True), файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db\ backends \ base \ schema.py ", строка 161, в column_sql default_value = self.effective_default (поле) Файл" C: \ Users \ Hp \ AppData \ Local \ Prog "rams \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ backends \ base \ schema.py ", строка 233, вffective_default, возвращают field.get_db_prep_save (файл self._effective_default (field), self.connection)"C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ models \ fields \ related.py ", строка 937, в get_db_prep_save, вернуть self.target_field.get_db_prep_save (значение, соединение = соединение) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ models \ fields__init __. py", строка 789, в get_db_prep_save returnself.get_db_prep_value (значение, соединение = соединение, подготовлено = ложно) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ models \ fields__init __. py»,строка 957, в get_db_prep_value value = self.get_prep_value (value) Файл "C: \ Users \ Hp \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ django \ db \ models \ fields__init __. py"строка 966, в get_prep_value возвращает int (значение) ValueError: недопустимый литерал для int () с основанием 10: 'fee_code'

1 Ответ

0 голосов
/ 01 июня 2019

В этой модели

class class_fees(models.Model):
    class_code = models.ForeignKey(Classes, on_delete=models.CASCADE)
    fee_code = models.ForeignKey(fees_type, on_delete=models.CASCADE, 
    default='fee_code')
    fees_amount = models.BigIntegerField(default=1000)

    def __str__(self):
        return str(self.fees_amount)

Вы устанавливаете default='fee_code' в поле внешнего ключа fee_code.Как говорится в ошибке, вы не можете использовать там строку, она ожидает целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...