Ottenere TypeError: __init__() mancante 1 argomento posizionale richiesto: “on_delete” quando si tenta di aggiungere la tabella padre dopo la tabella figlio con le voci

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

Ho due classi nel mio database sqlite, una tabella padre denominata Categorie e la tabella figlio chiamata Articolo. Ho creato prima la classe della tabella figlio e ho aggiunto le voci. Quindi prima ho avuto questo:

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 

E dopo I ho aggiunto la tabella padre, e ora il mio models.py appare così:

da django.db import models # Crea i tuoi modelli qui. class Categorie(models.Model): nom = models.CharField(max_length=30) def __str__(self): return self.nom 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" ) category = models.ForeignKey("Categorie") def __str__ (self): return self.titre 

Quindi, quando eseguo python manage.py makemigrations <my_app_name>, ottengo questo errore:

Traceback (ultima chiamata più recente): File "manage.py", riga 15, in <module> execute_from_command_line(sys.argv) File "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjangocoremanagement\__init__.py", riga 354, in execute_from_command_line utility.execute() File "C:UserslislisAppDataLocalProgramsPython3Python35- -py3.5.eggdjangocoremanagement\__init__.py", riga 330, in execute django.setup() File "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjango\__init__.py", riga 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango-2.0-py3.5.eggdjangoapps egistry.py", riga 112, in populate app_config.import_models() File "C:UserslislisAppDataLocalProgramsPythonPython35-32libsite-packagesdjango 2.0-py3.5.eggdjangoappsconfig.py", riga 198, in import_models self.models_module = import_module(models_module_name) File "C:UserslislisAppDataLocalProgramsPythonPython35-32libimportlib\__init__.py", lin e 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", riga 986, in _gcd_import File "<frozen importlib._bootstrap>", riga 969, in _find_and_load File "<frozen importlib._bootstrap>", riga 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", riga 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", riga 665, in exec_module File "<frozen importlib._bootstrap>", riga 222, in _call_with_frames_removed File "C:UserslislisDjangomon_sitelogmodels.py", riga 6, in <module> class Article(models.Model): File "C:UserslislisDjangomon_sitelogmodels.py", riga 16, in Article category = models.ForeignKey("Categorie") TypeError: __init__() mancante 1 argomento posizionale richiesto: "on_delete"  

Ho riscontrato alcuni problemi simili in StackOverflow, ma sembra non essere lo stesso problema: __init__() mancante 1 argomento posizionale richiesto: 'quantità'