1
0

compat.py 819 B

12345678910111213141516171819202122232425262728293031323334
  1. # coding=utf-8
  2. import six
  3. import django
  4. from django.db import models
  5. try:
  6. from django.urls import reverse
  7. except ImportError:
  8. from django.core.urlresolvers import reverse
  9. try:
  10. from django.utils.deprecation import MiddlewareMixin
  11. except ImportError:
  12. MiddlewareMixin = object
  13. def get_rel_model(field):
  14. if django.VERSION >= (1, 9):
  15. return field.remote_field.model
  16. user_model = field.rel.to
  17. if isinstance(user_model, six.string_types):
  18. app_label, model_name = user_model.split('.')
  19. user_model = models.get_model(app_label, model_name)
  20. return user_model
  21. def get_request_port(request):
  22. if django.VERSION >= (1, 9):
  23. return request.get_port()
  24. host_parts = request.get_host().partition(':')
  25. return host_parts[2] or request.META['SERVER_PORT']