2015-01-28 5 views
0

django에서 조명기를 사용하여 초기 값으로 postgresql 데이터베이스를 채우려고합니다. 내가 왜이 오류를 얻고있다django 모델은 fixture와 일치하지 않습니다

class Article(models.Model): 
    _id = models.CharField(max_length=1000) 
    author_name = models.CharField(max_length=1000) 
    caption = models.CharField(max_length=1000) 
    isGraphic = models.BooleanField(max_length=1000, default=True) 
    pictures = models.URLField(max_length=1000) 
    text = models.CharField(max_length=10000) 
    title = models.CharField(max_length=1000) 
    user_img = models.URLField(max_length=1000) 
    videoname = models.CharField(max_length=1000) 
    vimeo_id = models.IntegerField(max_length=1000) 

Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line utility.execute() File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **options.__dict__) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute output = self.handle(*args, **options) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 61, in handle self.loaddata(fixture_labels) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 91, in loaddata self.load_label(fixture_label) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 148, in load_label obj.save(using=self.using) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/core/serializers/base.py", line 173, in save models.Model.save_base(self.object, using=using, raw=True) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/base.py", line 617, in save_base updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/base.py", line 698, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/base.py", line 731, in _do_insert using=using, raw=raw) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/manager.py", line 92, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/query.py", line 921, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 920, in execute_sql cursor.execute(sql, params) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/backends/utils.py", line 81, in execute return super(CursorDebugWrapper, self).execute(sql, params) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute return self.cursor.execute(sql, params) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__ six.reraise(dj_exc_type, dj_exc_value, traceback) File "/Users/sam.royston/PycharmProjects/sahelien_d/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute return self.cursor.execute(sql, params) django.db.utils.DataError: Problem installing fixture '/Users/sam.royston/PycharmProjects/sahelien_d/sahelien_django/fixtures/test.json' : Could not load publication.Article(pk=None): value too long for type character varying(100)

: 내 모델은 다음과 같습니다에도 불구하고 나는이 이상한 Could not load publication.Article(pk=None): value too long for type character varying(100) 오류가 계속?

test.json :

[ 
    { "model" : "publication.Article" , "fields": 
     { 
      "_id" : "5306dfa9ed2379f03a000001" , 
      "author_name" : "Sahélien Tombouctou", 
      "caption" : "Les n’ont fait aucune victime, ni de dégâts matériels", 
      "isGraphic" : false, 
      "pictures" : [], 
      "text" : "La ville de Tombouctou a reçu des tirs d'obus dans la nuit de dimanche. \n<br>\n<br>\nLes deux premiers obus sont tombés dans la localité de Kabara, à 10km de la cité des 333 saints. Le troisième obus est tombé sur la route de Goundam.\n<br>\n<br>\nLes tirs n’ont fait aucune victime, ni de dégâts matériels. Selon le lieutenant-colonel Seydou Koné, en poste à Tombouctou, l'armée malienne est mobilisée pour déterminer l'origine de cette attaque.",      
      "title" : "Tombouctou attaquée à la roquette", 
      "videoname" : "okok.mp4", 
      "vimeo_id" : "87246621" 
     } 
    } 
] 
+1

전체 추적을 게시 할 수 있습니까 (전체 오류 메시지). –

+0

추적 추가 – samfr

+0

test.json을 질문에 추가하십시오. 기본 키가없는 조명기가있는 것 같습니다. –

답변

0

귀하의 JSON기구에 기본 키가 없습니다. 귀하의 모델에 장고 automatically adds a primary key; id이라고합니다. 이 키가 필요하므로 키를 제공해야합니다.

이 키가없는 것입니다 게시 한 치구, 당신은 그것을 추가해야합니다 : 당신은 당신의 고정에서 모델에 필요한 키 필드를 누락

[ 
    { "model" : "publication.Article" , "fields": 
     { 
      "id": "1", 
      "_id" : "5306dfa9ed2379f03a000001" , 
      "author_name" : "Sahélien Tombouctou", 
      "caption" : "Les n’ont fait aucune victime, ni de dégâts matériels", 
      "isGraphic" : false, 
      "pictures" : [], 
      "text" : "La ville de Tombouctou a reçu des tirs d'obus dans la nuit de dimanche. \n<br>\n<br>\nLes deux premiers obus sont tombés dans la localité de Kabara, à 10km de la cité des 333 saints. Le troisième obus est tombé sur la route de Goundam.\n<br>\n<br>\nLes tirs n’ont fait aucune victime, ni de dégâts matériels. Selon le lieutenant-colonel Seydou Koné, en poste à Tombouctou, l'armée malienne est mobilisée pour déterminer l'origine de cette attaque.",      
      "title" : "Tombouctou attaquée à la roquette", 
      "videoname" : "okok.mp4", 
      "vimeo_id" : "87246621" 
     } 
    } 
] 

. user_img을 추가해야하고 pictures은 비워 둘 수 없습니다.

조명기는 모델의 모든 유효성 검사 규칙을 통과해야합니다. 모델마다 모든 필드가 필요하기 때문에 모든 필드를 조명기에서 사용할 수 있어야합니다.

또한 정수, 부울 및 url 필드에 대해서는 max_length 인수가 있으며 적용 할 수 없습니다.

+0

에'pk : 1'을 추가하면 문제가 발생합니다. 불행히도이 변경으로 동일한 문제가 발생합니다. 'publication을로드 할 수 없습니다. 기사 (pk = 1) : 값이 너무 길어 문자가 다양합니다 (100)' 내 설정에 뭔가 이상이있다. – samfr