Python Django-models.py-get\u absolute\u url函数是否满足条件? 类别(models.Model): “男女用品类别” 性别=模型。整型字段(选项=[ (一"女性"),, (二)"人",, ],默认值为1) name=models.CharField(最大长度=100) description=models.CharField(最大长度=300,空白=True) 上传日期=models.datetime字段( 自动_now_add=True,null=True,blank=True) 类Meta(): 详细名称复数='Categories' 定义(自我): 返回self.get_gender_display()+“”+self.name def get_绝对_url(自身): if#条件:从url传递的值超过1个 返回反向('finite:category',kwargs={'self:gender:self.get_gender\u display(),'category_pk':self.pk}) 其他: 返回反向('finite:show all',kwargs={'gender':self.get\u gender\u display()})

Python Django-models.py-get\u absolute\u url函数是否满足条件? 类别(models.Model): “男女用品类别” 性别=模型。整型字段(选项=[ (一"女性"),, (二)"人",, ],默认值为1) name=models.CharField(最大长度=100) description=models.CharField(最大长度=300,空白=True) 上传日期=models.datetime字段( 自动_now_add=True,null=True,blank=True) 类Meta(): 详细名称复数='Categories' 定义(自我): 返回self.get_gender_display()+“”+self.name def get_绝对_url(自身): if#条件:从url传递的值超过1个 返回反向('finite:category',kwargs={'self:gender:self.get_gender\u display(),'category_pk':self.pk}) 其他: 返回反向('finite:show all',kwargs={'gender':self.get\u gender\u display()}),python,django,url,django-models,Python,Django,Url,Django Models,问题:如何为get\u absolute\u url函数制定逻辑,以便更动态地工作?或者它不应该动态工作?在上面的if语句中,我想放置一个条件来检查从url传递的值的数量,以便它可以决定呈现哪个视图。可能吗?或者我应该单独创建get\u FOO\u url()函数来呈现从url传入的具有不同值的每个视图吗?由于模型本身不知道关于a请求的任何信息,因此在没有任何帮助的情况下是不可能的 我个人更喜欢它正是为了这个目的而设计的 from django_global_request.middleware

问题:如何为
get\u absolute\u url
函数制定逻辑,以便更动态地工作?或者它不应该动态工作?在上面的if语句中,我想放置一个条件来检查从url传递的值的数量,以便它可以决定呈现哪个视图。可能吗?或者我应该单独创建
get\u FOO\u url()
函数来呈现从url传入的具有不同值的每个视图吗?

由于模型本身不知道关于a请求的任何信息,因此在没有任何帮助的情况下是不可能的

我个人更喜欢它正是为了这个目的而设计的

from django_global_request.middleware import get_request

class TestModel(models.Model):

    ...

    def get_absolute_url(self):
        request = get_request()

        if request.GET.get('whatever'):
            return ...
        else:
            return ...

您只需要确保,您仍然可以在没有任何可用请求的情况下访问此方法。所以,请确保它是故障安全的,并且在并没有请求的情况下(如在shell、升级等中)具有回退功能