django-defender/defender/models.py
David Nugent cb59d1c481 Fixes for django 3.0+
As python 2i is no longer supported, stub reference to python_2_unicode_compatible
2020-02-23 14:25:15 -05:00

32 lines
1 KiB
Python

from __future__ import unicode_literals
import django
from django.db import models
if django.VERSION[0] < 3:
from django.utils.encoding import python_2_unicode_compatible
else:
# noop stub
def python_2_unicode_compatible(cls):
return cls
@python_2_unicode_compatible
class AccessAttempt(models.Model):
""" Access Attempt log """
user_agent = models.CharField(max_length=255,)
ip_address = models.GenericIPAddressField(verbose_name="IP Address", null=True,)
username = models.CharField(max_length=255, null=True,)
http_accept = models.CharField(verbose_name="HTTP Accept", max_length=1025,)
path_info = models.CharField(verbose_name="Path", max_length=255,)
attempt_time = models.DateTimeField(auto_now_add=True,)
login_valid = models.BooleanField(default=False,)
class Meta:
ordering = ["-attempt_time"]
def __str__(self):
""" unicode value for this model """
return "{0} @ {1} | {2}".format(
self.username, self.attempt_time, self.login_valid
)