TypeError krijgen: __init__() mist 1 vereist positioneel argument: “on_delete” bij het toevoegen van bovenliggende tabel na onderliggende tabel met vermeldingen

| | | | | | | | | | | | | | | | | | | | | | | | |

Ik heb twee klassen in mijn sqlite-database, een bovenliggende tabel met de naam Categorie en de onderliggende tabel met de naam Artikel. Ik heb eerst de kindtabelklasse gemaakt en items toegevoegd. Dus eerst had ik dit:

class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField( null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) def __str__(self): return self.titre 

En nadat ik heb een bovenliggende tabel toegevoegd, en nu ziet mijn models.py er zo uit:

van django.db importeer modellen # Maak hier uw modellen aan. class Categorie(modellen.Model): nom = modellen.CharField(max_length=30) def __str__(self): return self.nom class Article(modellen.Model): titre=modellen.CharField(max_length=100) auteur=modellen. CharField(max_length=42) contenu=models.TextField(null=True) date=modellen.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) category = models.ForeignKey("Categorie") def __str__ (self): return self.titre 

Dus wanneer ik python manage.py makemigrations <my_app_name> uitvoer, krijg ik deze foutmelding:

Traceback (meest recente oproep laatst): bestand "manage.py", regel 15, in <module> execute_from_command_line(sys.argv) Bestand "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjangocoremanagement\__init__.py", regel 354, in execute_from_command_line utility.executeUs () -py3.5.eggdjangocoremanagement\__init__.py", regel 330, in execute django.setup() Bestand "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjango\__init__.py", regel 24, in setup apps.populate(settings.INSTALLED_APPS) Bestand "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjangoapps egistry.py", regel 112, in populate app_config.import_models() Bestand "App:aLocallisProgramsPython 2.0-py3.5.eggdjangoappsconfig.py", regel 198, in import_models self.models_module = import_module(models_module_name) Bestand "C:UserslislisAppDataLocalProgramsPythonPython35-32libimportlib\__init__.py", lin e 126, retourneer in import_module _bootstrap._gcd_import(naam[niveau:], pakket, niveau) Bestand "<frozen importlib._bootstrap>", regel 986, in _gcd_import Bestand "<frozen importlib._bootstrap>", regel 969, in _find_and_load bestand "<frozen importlib._bootstrap>", regel 958, in _find_and_load_unlocked bestand "<frozen importlib._bootstrap>", regel 673, in _load_unlocked bestand "<frozen importlib._bootstrap_external>", regel 665 Bestand "<frozen importlib._bootstrap>", regel 222, in _call_with_frames_removed Bestand "C:UserslislisDjangomon_sitelogmodels.py", regel 6, in <module> class Article(models.Model): Bestand "C:UserslislisDjangomon_sitelogmodels.py", regel 16, in Article category = models.ForeignKey("Categorie") TypeError: __init__() er ontbreekt 1 vereist positioneel argument: "on_delete"  

Ik heb soortgelijke problemen gezien in stackoverflow, maar het lijkt niet hetzelfde probleem te zijn: __init__() mist 1 vereist positioneel argument: 'quantity'