2017-08-14 3 views
0

コードの作成中に突然テストが開始された場合、例外の解決策が見つかりません。ウェブサイトはまだrunserverで正常に動作します。ここに完全なトレースバックがあります:Django-MarkItUp:テスト開始時の例外(AttributeError: 'str'オブジェクトに 'raw'属性がありません)

Traceback (most recent call last): 
    File "manage.py", line 10, in <module  
    execute_from_command_line(sys.argv) 
    File "…/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "…/lib/python3.5/site-packages/django/core/management/__init__.py", line 359, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "…/lib/python3.5/site-packages/django/core/management/commands/test.py", line 29, in run_from_argv 
    super(Command, self).run_from_argv(argv) 
    File "…/lib/python3.5/site-packages/django/core/management/base.py", line 294, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "…/lib/python3.5/site-packages/django/core/management/base.py", line 345, in execute 
    output = self.handle(*args, **options) 
    File "…/lib/python3.5/site-packages/django/core/management/commands/test.py", line 72, in handle 
    failures = test_runner.run_tests(test_labels) 
    File "…/lib/python3.5/site-packages/django/test/runner.py", line 549, in run_tests 
    old_config = self.setup_databases() 
    File "…/lib/python3.5/site-packages/django/test/runner.py", line 499, in setup_databases 
    self.parallel, **kwargs 
    File "…/lib/python3.5/site-packages/django/test/runner.py", line 743, in setup_databases 
    serialize=connection.settings_dict.get("TEST", {}).get("SERIALIZE", True), 
    File "…/lib/python3.5/site-packages/django/db/backends/base/creation.py", line 78, in create_test_db 
    self.connection._test_serialized_contents = self.serialize_db_to_string() 
    File "…/lib/python3.5/site-packages/django/db/backends/base/creation.py", line 122, in serialize_db_to_string 
    serializers.serialize("json", get_objects(), indent=None, stream=out) 
    File "…/lib/python3.5/site-packages/django/core/serializers/__init__.py", line 129, in serialize 
    s.serialize(queryset, **options) 
    File "…/lib/python3.5/site-packages/django/core/serializers/base.py", line 88, in serialize 
    self.handle_field(obj, field) 
    File "…/lib/python3.5/site-packages/django/core/serializers/python.py", line 55, in handle_field 
    self._current[field.name] = field.value_to_string(obj) 
    File "…/lib/python3.5/site-packages/markitup/fields.py", line 103, in value_to_string 
    return value.raw 
AttributeError: 'str' object has no attribute 'raw' 

通常、問題を絞り込んでいます。しかし、この場合私はどこにも行かない。

パッケージを更新しませんでした。これらは、問題のパッケージです:

  • ジャンゴ(1.10.7)
  • ジャンゴ - markitup(3.0.0)

(例外は私は標準TextFieldと私のMarkupFieldを交換する際に消えますmodels.py

更新:--keepdbを使用するとエラーが表示されます。

答えて

0

は、あなたが実際に私はこのエラーが来ている理由を知らない次に

class MyMarkupField(MarkupField): 
    def value_to_string(self, obj): 
     value = self._get_val_from_obj(obj) 
     if hasattr(value, "raw"): 
      return value.raw 
     return value 

field = MyMarkupField() 

ことによってそれを修正することができそうです。

+0

エラーはdjango-factory-boy(1.0.0)にリンクされているようです。 – yofee

+0

答えが解決しなかった場合は、受け入れないでください。 – itzMEonTV

+0

あなたの答えはこの問題を解決しましたが、それは最も良い解決策ではないかもしれません(しかし、私にとっては今のところ十分です)。したがって、なぜ誰かがエラーが発生した理由を疑問に思ったり、それを修正したいと思った場合には、さらに詳しい情報を提供したかっただけです。 – yofee

関連する問題