Я пытаюсь развернуть приложение 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
также отлично работает локально.