Eu estou tentando verificar se o IP do usuário está em um objeto de modelo que eu tenho. Eu adicionei meu IP no banco de dados, mas não estou recebendo meu código para responder adequadamente:
views.py
def view(request):
try:
ip = request.META["HTTP_X_FORWARDED_FOR"]
except:
ip = request.META["REMOTE_ADDR"]
ignored_ips = IgnoredIP.objects.all()
if str(ip) in ignored_ips:
Ignore = True
Models.py
from django.db import models
class IgnoredIP(models.Model):
ip = models.IPAddressField()
def __unicode__(self):
return self.ip
Respostas:
2 para resposta № 1Você está comparando uma string com uma lista de instâncias do modelo. Ela nunca será igual.
Você não quer buscar a tabela inteira de IgnoredIPs de qualquer maneira apenas para verificar uma única. Em vez disso, consulte o valor exato:
if IgnoredIP.objects.filter(ip=ip).exists():