ValueError:运行python manage.py时在specifydb之后迁移时,源代码字符串在django中不能包含空字节

如何解决ValueError:运行python manage.py时在specifydb之后迁移时,源代码字符串在django中不能包含空字节

我将Django与MysqL数据库连接并运行sql脚本以创建数据库并在django项目上运行迁移,但没有错误,但是要使用该数据库,必须使用python manage.py inspectdb> appname / models .py, 完成此操作后,我按照步骤中的说明清理了模型,但是当我运行时 python manage.py migration它给了我这个错误

MysqL脚本

create database if not exists payroll_db;
use payroll_db;
create table m_state(state_code varchar(2) primary key,state_name varchar(30));

create table m_address(address_id integer primary key,building_details varchar(30) NOT NULL,road varchar(20) NOT NULL,landmark varchar(30) NOT NULL,city varchar(30) NOT NULL,state varchar(2) NOT NULL references m_state(state_code),country varchar(30) default 'India');

create table m_company(company_id integer primary key,company_name varchar(50) NOT NULL,Area Varchar(30),Landmark Varchar(30),City varchar(30),country varchar(30) default 'India');

create table m_department(company_id integer NOT NULL references m_company(company_id),department_id integer primary key,department_name varchar(30) NOT NULL);

create table m_grade(grade_id integer primary key,grade_name varchar(20) NOT NULL);

create table m_employee(employee_id integer primary key,employee_name varchar(30) NOT NULL,department_id integer references m_department(department_id),company_id integer NOT NULL references m_company(company_id),country varchar(30) default 'India',employee_doj date NOT NULL,grade_id integer NOT NULL references m_grade (grade_id));

create table m_paygrade(employee_id integer NOT NULL references m_employee(employee_id),grade_id integer NOT NULL references m_grade(grade_id),basic_amt integer NOT NULL,da_amt integer NOT NULL,pf_amt integer NOT NULL,medical_amt integer NOT NULL,primary key(employee_id,grade_id));

create table m_pay(employee_id integer NOT NULL references m_employee(employee_id),fin_year integer NOT NULL,gross_salary integer NOT NULL,gross_dedn integer NOT NULL,net_salary integer NOT NULL,primary key(fin_year,employee_id));

create table t_leave( employee_id integer NOT NULL references m_employee(employee_id),leave_date date NOT NULL,leave_type varchar(4) check (leave_type IN('CL','SL','PL','LWP')));

create table t_achievement(employee_id integer NOT NULL references m_employee(employee_id),achievement_date date NOT NULL,achievement_type varchar(80) NOT NULL);

django models.py代码

from django.db import models
# class AuthGroup(models.Model):
#     name = models.CharField(unique=True,max_length=150)

#     class Meta:
#         managed = True
#         db_table = 'auth_group'


# class AuthGroupPermissions(models.Model):
#     group = models.ForeignKey(AuthGroup,models.DO_nothing)
#     permission = models.ForeignKey('AuthPermission',models.DO_nothing)

#     class Meta:
#         managed = True
#         db_table = 'auth_group_permissions'
#         unique_together = (('group','permission'),)


# class AuthPermission(models.Model):
#     name = models.CharField(max_length=255)
#     content_type = models.ForeignKey('DjangoContentType',models.DO_nothing)
#     codename = models.CharField(max_length=100)

#     class Meta:
#         managed = True
#         db_table = 'auth_permission'
#         unique_together = (('content_type','codename'),)


# class AuthUser(models.Model):
#     password = models.CharField(max_length=128)
#     last_login = models.DateTimeField(blank=True,null=True)
#     is_superuser = models.IntegerField()
#     username = models.CharField(unique=True,max_length=150)
#     first_name = models.CharField(max_length=150)
#     last_name = models.CharField(max_length=150)
#     email = models.CharField(max_length=254)
#     is_staff = models.IntegerField()
#     is_active = models.IntegerField()
#     date_joined = models.DateTimeField()

#     class Meta:
#         managed = True
#         db_table = 'auth_user'


# class AuthUserGroups(models.Model):
#     user = models.ForeignKey(AuthUser,models.DO_nothing)
#     group = models.ForeignKey(AuthGroup,models.DO_nothing)

#     class Meta:
#         managed = True
#         db_table = 'auth_user_groups'
#         unique_together = (('user','group'),)


# class AuthUserUserPermissions(models.Model):
#     user = models.ForeignKey(AuthUser,models.DO_nothing)
#     permission = models.ForeignKey(AuthPermission,models.DO_nothing)

#     class Meta:
#         managed = True
#         db_table = 'auth_user_user_permissions'
#         unique_together = (('user',)


# class DjangoAdminLog(models.Model):
#     action_time = models.DateTimeField()
#     object_id = models.TextField(blank=True,null=True)
#     object_repr = models.CharField(max_length=200)
#     action_flag = models.PositiveSmallIntegerField()
#     change_message = models.TextField()
#     content_type = models.ForeignKey('DjangoContentType',models.DO_nothing,blank=True,null=True)
#     user = models.ForeignKey(AuthUser,models.DO_nothing)

#     class Meta:
#         managed = True
#         db_table = 'django_admin_log'


# class DjangoContentType(models.Model):
#     app_label = models.CharField(max_length=100)
#     model = models.CharField(max_length=100)

#     class Meta:
#         managed = True
#         db_table = 'django_content_type'
#         unique_together = (('app_label','model'),)


# class DjangoMigrations(models.Model):
#     app = models.CharField(max_length=255)
#     name = models.CharField(max_length=255)
#     applied = models.DateTimeField()

#     class Meta:
#         managed = True
#         db_table = 'django_migrations'


# class DjangoSession(models.Model):
#     session_key = models.CharField(primary_key=True,max_length=40)
#     session_data = models.TextField()
#     expire_date = models.DateTimeField()

#     class Meta:
#         managed = True
#         db_table = 'django_session'

class MState(models.Model):
    state_code = models.CharField(primary_key=True,max_length=2)
    state_name = models.CharField(max_length=30,null=True)

    class Meta:
        managed = True
        db_table = 'm_state'


class MAddress(models.Model):
    address_id = models.IntegerField(primary_key=True)
    building_details = models.CharField(max_length=30)
    road = models.CharField(max_length=20)
    landmark = models.CharField(max_length=30)
    city = models.CharField(max_length=30)
    state = models.ForeignKey('Mstate',on_delete=models.CASCADE)
    country = models.CharField(max_length=30,null=True)

    class Meta:
        managed = True
        db_table = 'm_address'


class MCompany(models.Model):
    company_id = models.IntegerField(primary_key=True)
    company_name = models.CharField(max_length=50)
    building_details = models.CharField(max_length=30)
    area = models.CharField(db_column='Area',max_length=30,null=True)  # Field name made lowercase.
    landmark = models.CharField(db_column='Landmark',null=True)  # Field name made lowercase.
    city = models.CharField(db_column='City',null=True)  # Field name made lowercase.
    state = models.ForeignKey('Mstate',null=True)

    class Meta:
        managed = True
        db_table = 'm_company'


class MDepartment(models.Model):
    company_id = models.ForeignKey('MCompany',on_delete=models.CASCADE)
    department_id = models.IntegerField(primary_key=True)
    department_name = models.CharField(max_length=30)

    class Meta:
        managed = True
        db_table = 'm_department'


class MGrade(models.Model):
    grade_id = models.IntegerField(primary_key=True)
    grade_name = models.CharField(max_length=20)

    class Meta:
        managed = True
        db_table = 'm_grade'


class MEmployee(models.Model):
    employee_id = models.IntegerField(primary_key=True)
    employee_name = models.CharField(max_length=30)
    department_id = models.ForeignKey('MDepartment',on_delete=models.CASCADE)
    company_id = models.ForeignKey('MCompany',on_delete=models.CASCADE)
    building_details = models.CharField(max_length=30)
    area = models.CharField(db_column='Area',null=True)
    employee_doj = models.DateField()
    grade_id = models.ForeignKey('MGrade',on_delete=models.CASCADE)

    class Meta:
        managed = True
        db_table = 'm_employee'

class MPaygrade(models.Model):
    employee_id = models.ForeignKey('MEmployee',on_delete=models.CASCADE)
    grade_id = models.ForeignKey('MGrade',on_delete=models.CASCADE)
    basic_amt = models.IntegerField()
    da_amt = models.IntegerField()
    pf_amt = models.IntegerField()
    medical_amt = models.IntegerField()
    paygrade_id = models.AutoField(primary_key=True)
    class Meta:
        managed = True
        db_table = 'm_paygrade'
        unique_together = (('employee_id','grade_id'),)


class MPay(models.Model):
    employee_id = models.ForeignKey('MEmployee',on_delete=models.CASCADE)
    fin_year = models.IntegerField()
    gross_salary = models.IntegerField()
    gross_dedn = models.IntegerField()
    net_salary = models.IntegerField()
    MPay_id = models.AutoField(primary_key=True)
    class Meta:
        managed = True
        db_table = 'm_pay'
        unique_together = (('fin_year','employee_id'),)

class TLeave(models.Model):
    employee_id = models.ForeignKey('MEmployee',on_delete=models.CASCADE)
    fin_year = models.IntegerField()
    leave_date = models.DateField()
    leave_type = models.CharField(max_length=4,null=True)
    leave_id =models.AutoField(primary_key=True)

    class Meta:
        managed = True
        db_table = 't_leave'


class TAchievement(models.Model):
    employee_id = models.ForeignKey('MEmployee',on_delete=models.CASCADE)
    achievement_date = models.DateField()
    achievement_type = models.CharField(max_length=80)
    achievement_id = models.AutoField(primary_key=True)

    class Meta:
        managed = True
        db_table = 't_achievement'


错误回溯:

Traceback (most recent call last):
  File "manage.py",line 22,in <module>
    main()
  File "manage.py",line 18,in main
    execute_from_command_line(sys.argv)
  File "C:\Users\chira\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\django\core\management\__init__.py",line 401,in execute_from_command_line
    utility.execute()
  File "C:\Users\chira\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\django\core\management\__init__.py",line 377,in execute
    django.setup()
  File "C:\Users\chira\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\django\__init__.py",line 24,in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\chira\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\django\apps\registry.py",line 114,in populate
    app_config.import_models()
  File "C:\Users\chira\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\django\apps\config.py",line 211,in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py",line 127,in import_module
    return _bootstrap._gcd_import(name[level:],package,level)
  File "<frozen importlib._bootstrap>",line 1014,in _gcd_import
  File "<frozen importlib._bootstrap>",line 991,in _find_and_load
  File "<frozen importlib._bootstrap>",line 975,in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
  File "<frozen importlib._bootstrap_external>",line 779,in exec_module
  File "<frozen importlib._bootstrap_external>",line 916,in get_code
  File "<frozen importlib._bootstrap_external>",line 846,in source_to_code
  File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
ValueError: source code string cannot contain null bytes

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?