在我的项目中,我使用django rest框架.要过滤结果,我使用django_filters后端.有我的代码:
models.py
from django.db import models
class Region(models.Model):
name = models.CharField(max_length=100, blank=True, null=False)
class Town(models.Model):
region = models.ForeignKey(Region)
name = models.CharField(max_length=100, blank=True, null=False')
Run Code Online (Sandbox Code Playgroud)
filters.py
import django_filters
from models import Town
class TownFilter(django_filters.FilterSet):
region = django_filters.CharFilter(name="region__name", lookup_type="contains")
town = django_filters.CharFilter(name="name", lookup_type="contains")
class Meta:
model = Town
fields = ['region', 'town']
Run Code Online (Sandbox Code Playgroud)
views.py
from models import Town
from rest_framework import generics
from serializers import TownSerializer
from filters import TownFilter
class TownList(generics.ListAPIView):
queryset = Town.objects.all()
serializer_class = TownSerializer
filter_class = TownFilter
Run Code Online (Sandbox Code Playgroud)
所以,我可以将?region …
我知道Celery worker可以接收消息协议v2格式的消息。该协议通过lang标头支持多种语言:
...
application_headers={
'lang': 'py',
'task': 'proj.tasks.add',
...
}
...
Run Code Online (Sandbox Code Playgroud)
在书面文档中,工作人员可以将消息重定向到支持该语言的工作人员,并且没有有关如何以Java,PHP等编写工作人员或任务的信息。