2016-11-29 13 views
0

일부 데이터를 초기화하는 데 문제가 있습니다.Django loaddata 오류 __init __()에서 3 개의 인수 (주어진 경우 1 개)

내 initial.json 파일로이와

initial.json manage.py loaddata --verbosity = 1 실행하면

[ 
    { 
    "model": "listen.Playlist", 
    "pk": 1, 
    "fields": { 
     "message": "Hello There!", 
     "url": "pl8675309", 
     "background": "citylights.png" 
    } 
    } 
] 

내가 얻을 출력 :

File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 359, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 345, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.7/site-packages/django/core/management/commands/loaddata.py", line 64, in handle 
    self.loaddata(fixture_labels) 
    File "/Library/Python/2.7/site-packages/django/core/management/commands/loaddata.py", line 104, in loaddata 
    self.load_label(fixture_label) 
    File "/Library/Python/2.7/site-packages/django/core/management/commands/loaddata.py", line 161, in load_label 
    for obj in objects: 
    File "/Library/Python/2.7/site-packages/django/core/serializers/json.py", line 86, in Deserializer 
    six.reraise(DeserializationError, DeserializationError(e), sys.exc_info()[2]) 
    File "/Library/Python/2.7/site-packages/django/core/serializers/json.py", line 80, in Deserializer 
    for obj in PythonDeserializer(objects, **options): 
    File "/Library/Python/2.7/site-packages/django/core/serializers/python.py", line 183, in Deserializer 
    obj = base.build_instance(Model, data, db) 
    File "/Library/Python/2.7/site-packages/django/core/serializers/base.py", line 218, in build_instance 
    obj = Model(**data) 
    File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 556, in __init__ 
    super(Model, self).__init__() 
django.core.serializers.base.DeserializationError: Problem installing fixture 'initial.json': __init__() takes exactly 3 arguments (1 given) 
+0

'재생 목록'모델은 어떻게 생겼습니까? –

+0

감사합니다. 필요없는 모델을 제거한 모델에서 보았습니다. 나는 그것을 바르게 평가한다! – thellamaone

답변

0

Minimal Complete Verifiable Example을 표시하지 않았으므로 코드에서 수행하는 작업을 재현하는 것이 타당하지 않습니다.

내가 추측 할 수 당신이 작성한 모델의 서브 클래스가 예기치 않게 이상의 인수를 필요로하는 사용자 정의 __init__을 가지고 :

File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 556, in __init__ 
    super(Model, self).__init__() 
django.core.serializers.base.DeserializationError: Problem installing fixture 'initial.json': __init__() takes exactly 3 arguments (1 given) 

그래서, 당신은 Liskov 대체 원칙합니다 (SOLID principles 중 하나)를 파괴 한 경우 - 귀하의 서브 클래스는 실제로 부모 클래스로서의 사용을 허용하지 않습니다.