简体   繁体   English

使用过滤器发出 GET 请求

[英]Making a GET request with filter

My model is the following我的model如下

class PokerRoom(models.Model):
STATUS = (("Pending", "Pending"), ("Finished", "Finished"))

status = models.CharField(
    max_length=11,
    choices=STATUS,
    verbose_name=_("Status da Story"),
    default="Pending",
)
name = models.CharField(max_length=200, verbose_name=_("room name"), validators=[alphanumeric])
slug = models.CharField(max_length=200, verbose_name=_("room slug"), null=True, blank=True)
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
styleCards = MultiSelectField(choices=CHOICES, default=FIBONACCI)
datetime = models.DateTimeField(null=True, blank=True)
date = models.CharField(max_length=10, null=True, blank=True)
user = models.ForeignKey(User, on_delete=DO_NOTHING)
first_name_user = models.CharField(
    max_length=200, verbose_name=_("user name"), null=True, blank=True
)
deck = models.ForeignKey(Pack, on_delete=models.CASCADE)
index = models.IntegerField(
    null=True, blank=True, verbose_name=_("story being voted")
)

I'm my application, I want to make a searchbar for "status" and "name" and do a GET request with those filter that would be provided by the client when he make the search.我是我的应用程序,我想为“状态”和“名称”创建一个搜索栏,并使用客户在进行搜索时提供的过滤器执行 GET 请求。 But I don't know how to do that in my views.py但我不知道如何在我的 views.py 中做到这一点

I was thiking in a GET method like this, but I don't know how to get the planningName and planningStatus from the frontend.我在想这样的 GET 方法,但我不知道如何从前端获取 planningName 和 planningStatus。

    def get(self, request, pk):
    """GET of PokerRoom historic"""
    user = request.user
    pk = self.kwargs["pk"]
    planningName = 
    planningStatus = 
    moderatorRoom = PokerRoom.objects.values("id", "first_name_user", "date", "name", "status", "styleCards", "datetime", 'slug'
    ).filter(Q(user= user) | Q(name=planningName) | Q(status=planningStatus)).order_by("-datetime")

Can someone helpe me?有人可以帮助我吗?

Suppose the name of the input field is planningName, you can get the value in views.py by using假设输入字段的名字是planningName,你可以通过使用获取views.py中的值

planningName = request.GET.get('planningName')
planningStatus = request.GET.get('planningStatus')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM