Je suis nouveau à Django Je veux créer une application business_plan Je le pas pour créer mes modèles J'ai créé de nombreux cours dans mes modèles.pyRy:
> (business) C:\Users\hp\PycharmProjects\business\oasisconsuting>python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 21, in <module> main() File "manage.py", line 17, in main execute_from_command_line(sys.argv) File "C:\Users\hp\PycharmProjects\business\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line utility.execute() File "C:\Users\hp\PycharmProjects\business\lib\site-packages\django\core\management\__init__.py", line 377, in execute django.setup() File "C:\Users\hp\PycharmProjects\business\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\hp\PycharmProjects\business\lib\site-packages\django\apps\registry.py", line 114, in populate app_config.import_models() File "C:\Users\hp\PycharmProjects\business\lib\site-packages\django\apps\config.py", line 211, in import_models self.models_module = import_module(models_module_name) File "C:\Users\hp\PycharmProjects\business\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 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "C:\Users\hp\PycharmProjects\business\oasisconsuting\businessplan\models.py", line 9, in <module> class Entrepreneur(models.Model): File "C:\Users\hp\PycharmProjects\business\oasisconsuting\businessplan\models.py", line 11, in Entrepreneur admin=models.OneToOneField(CustomUser,on_delete=models.CASCADE()) TypeError: CASCADE() missing 4 required positional arguments: 'collector', 'field', 'sub_objs', and 'using'
3 Réponses :
Il suffit d'éliminer les crochets en cascade car il n'est pas méthode mais constant
class Entrepreneur(models.Model): admin=models.OneToOneField(CustomUser,on_delete=models.CASCADE) class Projet(models.Model): id_promoteur=models.ForeignKey(Entrepreneur,on_delete=models.CASCADE)
Pouvez-vous accepter la réponse? (Je l'apprécierais) @ user3828990
La tique verte n'est pas affichée sous les votes, c'est pourquoi et je n'ai pas reçu la réputation de réponse acceptée.
Désolé je suis nouveau dans Stackoverflow, veuillez dire; Ce que je devrais faire exactement pour accepter votre réponse
@ user3828990 aucun problème
merci je résolvez les erreurs celles-ci concernaient les supports de modèles.Cascade
mais quand je réalise le code, il affiche une autre erreur: (je ne sais pas si c'est une erreur ou des avertissements p>
> C:\Users\hp\PycharmProjects\business\lib\site-packages\django\db\models\base.py:320: RuntimeWarning: Model 'businessplan.customuser' was already registered. Reloadin g models is not advised as it can lead to inconsistencies, most notably with related models. new_class._meta.apps.register_model(new_class._meta.app_label, new_class) SystemCheckError: System check identified some issues: ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'CustomUser.groups'. HINT: Add or change a related_name argument to the definition for 'User.groups' or 'CustomUser.groups'. auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'CustomUser.user_permissions'. HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'CustomUser.user_permissions'. businessplan.CustomUser.groups: (fields.E304) Reverse accessor for 'CustomUser.groups' clashes with reverse accessor for 'User.groups'. HINT: Add or change a related_name argument to the definition for 'CustomUser.groups' or 'User.groups'. businessplan.CustomUser.user_permissions: (fields.E304) Reverse accessor for 'CustomUser.user_permissions' clashes with reverse accessor for 'User.user_permissions'. HINT: Add or change a related_name argument to the definition for 'CustomUser.user_permissions' or 'User.user_permissions'. businessplan.CustomUser_groups: (fields.E336) The model is used as an intermediate model by 'businessplan.CustomUser.groups', but it does not have a foreign key to ' CustomUser' or 'Group'. businessplan.CustomUser_user_permissions: (fields.E336) The model is used as an intermediate model by 'businessplan.CustomUser.user_permissions', but it does not hav e a foreign key to 'CustomUser' or 'Permission'. businessplan.Entrepreneur.admin: (fields.E300) Field defines a relation with model 'CustomUser', which is either not installed, or is abstract. businessplan.Projet.admin: (fields.E300) Field defines a relation with model 'CustomUser', which is either not installed, or is abstract.
La raison est parce que vous appelez La ligne dont vous avez besoin est la suivante: p> modèles.Cascade code> avec les crochets après cela. La dernière ligne de votre trace de votre trace indique que 4 arguments sont nécessaires car vous appelez à cette fonction plutôt que de simplement le référencer.
...
class Entrepreneur(models.Model):
id_models= models.IntegerField(primary_key=True)
admin=models.OneToOneField(CustomUser,on_delete=models.CASCADE)
...