本文共 2251 字,大约阅读时间需要 7 分钟。
D:\TOOL\PycharmProjects\python3\BS\h2>python manage.py makemigrations
Traceback (most recent call last):File "manage.py", line 15, in <module>execute_from_command_line(sys.argv)File "D:\Program Files\python3.6\lib\site-packages\django\core\management__init__.py", line 371, in execute_from_command_lineutility.execute()File "D:\Program Files\python3.6\lib\site-packages\django\core\management__init.py", line 347, in executedjango.setup()File "D:\Program Files\python3.6\lib\site-packages\django\init.py", line 24, in setupapps.populate(settings.INSTALLED_APPS)File "D:\Program Files\python3.6\lib\site-packages\django\apps\registry.py", line 112, in populateapp_config.import_models()File "D:\Program Files\python3.6\lib\site-packages\django\apps\config.py", line 198, in import_modelsself.models_module = import_module(models_module_name)File "D:\Program Files\python3.6\lib\importlib\init__.py", line 126, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "<frozen importlib._bootstrap>", line 994, in _gcd_importFile "<frozen importlib._bootstrap>", line 971, in _find_and_loadFile "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 665, in _load_unlockedFile "<frozen importlib._bootstrap_external>", line 678, in exec_moduleFile "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removedFile "D:\TOOL\PycharmProjects\python3\BS\h2\booktest\models.py", line 11, in <module>class HeroInfo(models.Model):File "D:\TOOL\PycharmProjects\python3\BS\h2\booktest\models.py", line 15, in HeroInfohbook = models.ForeignKey(BookInfo)**TypeError: init() missing 1 required positional argument: 'on_delete'**
在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: init() missing 1 required positional argument: 'on_delete'解决方案:class BookInfo(models.Model): btitle = models.CharField(max_length=20) bpub_date = models.DateTimeField()class HeroInfo(models.Model): hname = models.CharField(max_length=20) hgender = models.BooleanField() hcontent = models.CharField(max_length=100) hbook = models.ForeignKey('BookInfo', on_delete=models.CASCADE)
转载于:https://blog.51cto.com/357712148/2330983