![](/img/trans.png)
[英]How do I dynamically filter fields returned in django rest api get request based on the user making the request?
[英]Making a GET request with filter
我的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")
)
我是我的應用程序,我想為“狀態”和“名稱”創建一個搜索欄,並使用客戶在進行搜索時提供的過濾器執行 GET 請求。 但我不知道如何在我的 views.py 中做到這一點
我在想這樣的 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")
有人可以幫助我嗎?
假設輸入字段的名字是planningName,你可以通過使用獲取views.py中的值
planningName = request.GET.get('planningName')
planningStatus = request.GET.get('planningStatus')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.