Как сохранить все IP-адреса, связанные с пользователем, в django? [закрыто]
Я хочу хранить все IP адреса каждого пользователя в базе данных, я хочу каждый раз сохранять IP до изменения и добавлять следующий в то же поле, например, я хочу получить список, в котором будут все IP с момента создания профиля.
Я собираю IP-адреса с помощью этой программы
from dashboard.models import Profile
from django.utils.deprecation import MiddlewareMixin
class SaveIpAddressMiddleware(MiddlewareMixin):
def process_request(self, request): # sourcery skip: use-named-expression
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[-1].strip()
else:
ip = request.META.get('REMOTE_ADDR')
if request.user.is_authenticated:
profile = Profile.objects.get(user=request.user)
profile.ip_address = ip
profile.save()
model.py
from django.db import models
from django.contrib.auth.models import User
from .formatChecker import ContentTypeRestrictedFileField
# Extending User Model Using a One-To-One Link
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(blank=True, max_length=150)
ip_address = models.GenericIPAddressField(null=True, max_length=30)
avatar = ContentTypeRestrictedFileField(max_upload_size=10485760, null=True, verbose_name="",default='default.jpg', blank= True, content_types=['image/png', 'image/jpeg'])
def __str__(self):
return self.user.username
