我尝试接收在管理面板中创建的数据帐户名。但是,当我尝试从请求中解析数据时,由于查询dict帐户名称为空,因此收到错误wit 404。
class OrderViewSet(viewsets.ViewSet):
client = None
def account_check(func):
def wrapper(*args, **kwargs):
params = args[1].query_params
name = params.get('account')
account = get_object_or_404(Account.objects.all(), name=name)
return func(*args, **kwargs)
return wrapper
@account_check
def create(self, request):
pre_serializer = OrderSerializer(data=request.data)
这是我的model.py和url.py代码:
router = DefaultRouter()
router.register(r'orders', OrderViewSet, basename='orders')
urlpatterns = router.urls
class Account(models.Model):
name = models.CharField(max_length=100, unique=True)
api_key = models.CharField(max_length=200)
api_secret = models.CharField(max_length=200)
class Meta:
verbose_name = "Account"
verbose_name_plural = "Accounts"
def __str__(self):
return self.name
在包装器中,我收到两个对象1-Request obj和2-我的views.OrderViewSet。
当我检查模型中的数据时,我发现查询集中存在该帐户。