Oot*_*oto 2 django django-rest-framework
我是创建 REST API 的新手,所以我可能会误解一些内容。我正在使用 Django Rest Framework 创建 REST API。我正在尝试创建一个对象并从我的移动应用程序发送它。
但是,API 返回 400。我认为它仍然无法将对象与请求用户关联起来,我想知道如何做到这一点。
models.py
class Item(models.Model):
item_name = models.CharField()
created_at = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)
serializers.py
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = ('item_name', 'created_by')
Run Code Online (Sandbox Code Playgroud)
和views.py
class ListItems(generics.ListCreateAPIView):
queryset = Item.objects.all()
serializer_class = ItemSerializer
Run Code Online (Sandbox Code Playgroud)
我想知道的是在发布对象时如何将对象与请求用户关联起来,就像我们所做的那样
if form.is_valid():
item = form.save(commit=False)
item.created_by = request.user
item.save()
Run Code Online (Sandbox Code Playgroud)
我认为最简单的方法是这样的:
class ItemSerializer(serializers.ModelSerializer):
created_by = serializers.HiddenField(
default=serializers.CurrentUserDefault()
)
Run Code Online (Sandbox Code Playgroud)
可以在这里找到参考
| 归档时间: |
|
| 查看次数: |
2030 次 |
| 最近记录: |