Я хотел бы сохранить IP-адрес моего клиента в моей модели в django restframework. Я не знаю, куда поместить мою функцию и как ее сохранить при создании журнала:
Models.py
class Loglist(models.Model):
"""This class represents the loglist model."""
message = JSONField(null=True)
date_created = models.TimeField(auto_now_add=True)
client_ip = models.GenericIPAddressField(null=True)
def __str__(self):
"""Return a human readable representation of the model instance."""
return "{}".format(self.client_ip)
Просмотры. py
class CreateView(generics.ListCreateAPIView):
"""This class defined the create behaviour of our rest api."""
queryset = Loglist.objects.all()
serializer_class = LoglistSerializer
def perform_create(self, serializer):
serializer.save()
class DetailsView(generics.RetrieveUpdateDestroyAPIView):
queryset = Loglist.objects.all()
serializer_class = LoglistSerializer
Serializer.py
class LoglistSerializer(serializers.ModelSerializer):
"""Serializer to map the model instance into JSON format."""
class Meta:
"""Meta class to map serializer's fields with the model fields."""
model = Loglist
fields = ('id', 'message', 'date_created', 'client_ip')
read_only_fields = ('date_created', 'client_ip')