from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.contrib.gis.db import models from ishtar_common.utils import ugettext_lazy as _ class ApiUser(models.Model): user_ptr = models.OneToOneField( User, primary_key=True, related_name="apiuser", on_delete=models.CASCADE ) ip = models.GenericIPAddressField(verbose_name=_("IP")) class Meta: verbose_name = _("Api - User") verbose_name_plural = _("Api - Users") def __str__(self): return self.user_ptr.username class ApiSearchModel(models.Model): user = models.ForeignKey(ApiUser, on_delete=models.CASCADE) content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) limit_query = models.TextField( verbose_name=_("Limit query"), blank=True, null=True, help_text=_("Search query add to each request") ) class Meta: verbose_name = _("Api - Search model") verbose_name_plural = _("Api - Search models")