zoukankan      html  css  js  c++  java
  • Django问题 TypeError: __init__() missing 1 required positional argument: 'on_delete'

    问题:在执行python manage.py makemigrations learning_logs时,系统会报错,提示:TypeError: __init__() missing 1 required positional argument: 'on_delete'

    (ll_env) c:WorkSpaceSimpleTestlearning_log>python manage.py makemigrations learning_logs
    Traceback (most recent call last):
      File "manage.py", line 15, in <module>
        execute_from_command_line(sys.argv)
      File "c:WorkSpaceSimpleTestlearning_logll_envlibsite-packagesdjangocoremanagement\__init__.py", line 371, in execute_from_command_line
        utility.execute()
      File "c:WorkSpaceSimpleTestlearning_logll_envlibsite-packagesdjangocoremanagement\__init__.py", line 347, in execute
        django.setup()
      File "c:WorkSpaceSimpleTestlearning_logll_envlibsite-packagesdjango\__init__.py", line 24, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "c:WorkSpaceSimpleTestlearning_logll_envlibsite-packagesdjangoapps egistry.py", line 112, in populate
        app_config.import_models()
      File "c:WorkSpaceSimpleTestlearning_logll_envlibsite-packagesdjangoappsconfig.py", line 198, in import_models
        self.models_module = import_module(models_module_name)
      File "C:python36libimportlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "c:WorkSpaceSimpleTestlearning_loglearning_logsmodels.py", line 13, in <module>
        class Entry(models.Model):
      File "c:WorkSpaceSimpleTestlearning_loglearning_logsmodels.py", line 15, in Entry
        topic = models.ForeignKey(Topic)
    TypeError: __init__() missing 1 required positional argument: 'on_delete'

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    代码如下:

    from django.db import models

    # Create your models here.
    class Topic(models.Model):
        """用户学习的主题"""
        text = models.CharField(max_length=200)
        date_added = models.DateTimeField(auto_now_add=True)
       
        def __str__(self):
            """返回模型的字符串表示"""
            return self.text

    class Entry(models.Model):
        """学到的有关某个主题的具体知识"""
        topic = models.ForeignKey(Topic)
        text = models.TextField()
        date_added = models.DateTimeField(auto_now_add=True)
       
        class Meta:
            verbose_name_plural = 'entries'
       
        def __str__(self):
            """返回模型的字符串表示"""
           
            return self.text[:50] + "..."

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    解决办法:修改指定外键的方式

    from django.db import models

    # Create your models here.
    class Topic(models.Model):
        """用户学习的主题"""
        text = models.CharField(max_length=200)
        date_added = models.DateTimeField(auto_now_add=True)
       
        def __str__(self):
            """返回模型的字符串表示"""
            return self.text

    class Entry(models.Model):
        """学到的有关某个主题的具体知识"""
        topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
        text = models.TextField()
        date_added = models.DateTimeField(auto_now_add=True)
       
        class Meta:
            verbose_name_plural = 'entries'
       
        def __str__(self):
            """返回模型的字符串表示"""
           
            return self.text[:50] + "..."

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
    AWS 免费套餐
    SQL Server全时区转换
    SQL Server 连接问题案例解析(1)
    SQL Saturday活动再起
    SqlServerProxy的一些资料
    数据是企业的无价財富——爱数备份存储柜server的初体验(图文)
    JEECG第二期深入使用培训(报名截止2014-06-21)
    Java提高篇(三三)-----Map总结
    经常使用哈希函数的比較及其C语言实现
  • 原文地址:https://www.cnblogs.com/studyddup0212/p/8900046.html
Copyright © 2011-2022 走看看