【问题标题】:Check id of foreign key object检查外键对象的id
【发布时间】:2013-11-05 14:14:28
【问题描述】:

我正在尝试编写一个函数来检查用户是否拥有正确的成员类别。

我的模型:

from django.db import models
from django.contrib.auth.models import User


class Membercategory(models.Model):
    membercatname = models.CharField(max_length=200)  


class Profile(models.Model):
    user = models.OneToOneField(User)
    mobilephone = models.CharField(max_length=12, blank=True)  
    membercategory = models.ForeignKey(Membercategory, blank=True, null=True)

我的用户检查中间件:

from django.http import HttpResponseRedirect
from django.conf import settings

class UserCheckMiddleware:

    def process_request(self, request):

        invalid_user_path = settings.INVALID_USER_URL

        if request.user.is_authenticated() and not request.user.is_staff:

            if not request.user.profile.membercategory(id=426):
                return HttpResponseRedirect(invalid_user_path)
        else:
            return        

我得到的错误是:Membercategory object is not callable

我应该如何进行检查?

【问题讨论】:

    标签: django django-models django-middleware


    【解决方案1】:

    好吧,正如错误所说,Django 模型实例不可调用。您只需要与 ID 进行简单比较:

    if request.user.profile.membercategory_id != 426:
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 2016-04-01
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多