Параметр отсутствует в функции при развертывании на героку, но не локально - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь развернуть приложение django на heroku.Но когда я ввожу git push heroku master, я получаю следующую ошибку, когда он вызывает python manage.py collectstatic --noinput.

Traceback

remote: -----> $ python orphantracker/orphanapp/manage.py collectstatic --noinput
remote:        Traceback (most recent call last):
remote:          File "orphantracker/orphanapp/manage.py", line 15, in <module>
remote:            execute_from_command_line(sys.argv)
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
remote:            utility.execute()
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute
remote:            django.setup()
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
remote:            apps.populate(settings.INSTALLED_APPS)
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/registry.py", line 112, in populate
remote:            app_config.import_models()
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/config.py", line 198, in import_models
remote:            self.models_module = import_module(models_module_name)
remote:          File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
remote:            return _bootstrap._gcd_import(name[level:], package, level)
remote:          File "<frozen importlib._bootstrap>", line 994, in _gcd_import
remote:          File "<frozen importlib._bootstrap>", line 971, in _find_and_load
remote:          File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
remote:          File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
remote:          File "<frozen importlib._bootstrap_external>", line 678, in exec_module
remote:          File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
remote:          File "/tmp/build_cac61d0e2017a75936388434ce352671/orphantracker/orphanapp/orphans/models.py", line 6, in <module>
remote:            from audit_log.models.fields import LastUserField, LastSessionKeyField
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/audit_log/models/__init__.py", line 5, in <module>
remote:            class AuthStampedModel(Model):
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/audit_log/models/__init__.py", line 10, in AuthStampedModel
remote:            created_by = CreatingUserField(verbose_name = _("created by"), related_name = "created_%(app_label)s_%(class)s_set")
remote:          File "/app/.heroku/python/lib/python3.6/site-packages/audit_log/models/fields.py", line 14, in __init__
remote:            super(LastUserField, self).__init__(to = to, null = null, editable = editable, **kwargs)
remote:        TypeError: __init__() missing 1 required positional argument: 'on_delete'

В сообщении об ошибке говорится, что в полях.пи, мне не хватает on_delete.Но когда я смотрю на рассматриваемый файл.Поле есть.

fields.py

class LastUserField(models.ForeignKey):
    """
    A field that keeps the last user that saved an instance
    of a model. None will be the value for AnonymousUser.
    """

    def __init__(self, to=getattr(settings, 'AUTH_USER_MODEL', 'auth.User'), on_delete=models.SET_NULL, null=True, editable=False,  **kwargs):
        super(LastUserField, self).__init__(to=to, on_delete=on_delete, null=null, editable=editable, **kwargs)

    def contribute_to_class(self, cls, name):
        super(LastUserField, self).contribute_to_class(cls, name)
        registry = registration.FieldRegistry(self.__class__)
        registry.add_field(cls, self)

Так что мне было интересно, почему оно не появляется, когда я пытаюсь развернуться на heroku.Возможно, это может быть django-audit-log, который я использую для отслеживания того, кто последний раз редактировал модель, или это может быть проблема с heroku.

Я должен также упомянуть, что приложение работает на моем компьютере, и когда язапустить heroku local.python manage.py collectsatic --noinput также отлично работает локально.

1 Ответ

0 голосов
/ 16 ноября 2018

Это определенно django-audit-logs, как вы можете видеть в своей трассировке.

https://github.com/vvangelovski/django-audit-log/pull/56

Проект выглядит устаревшим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...