我想检查consumer_key的有效性。我已经将一个作为 CharField 存储在 models.py 中,但我如何继续获取它进行比较? 这可能有助于更好地理解问题。
Models.py
class Verification(models.Model):
consumer_key = models.CharField(max_length=30)
hidden_key = models.CharField(max_length=30 , default="")
Views.py
from .models import Verfication
id = Verification.objects.filter()
if request_key ==id.values('consumer_key'):
consumer = oauth2.Consumer( key=request_key,secret= id.values('hidden_key'))
request_key包含oauth_consumer_key 。
试试这段代码:
from .models import Verfication
try:
id = Verification.objects.get(consumer_key = request_key)
consumer = oauth2.Consumer(key=request_key,secret= id.hidden_key)
except Verification.DoesNotExist:
pass #token does not exist
这将尝试使用request_key
获取对象Verification
并在request_key
不在数据库中时调用异常。
此外,consumer_key
应设置为唯一 模型中使用unique=True
以防止同一consumer_key
有多个条目。