Ano*_*oop 2 django-rest-framework
在 serializer.py 中使用 create 方法后出现错误
这是我的错误:
尝试获取
opponentserializer 上的字段值时出现 AttributeErrorDialogSerializer。序列化器字段可能命名不正确,并且与tuple实例上的任何属性或键都不匹配。原始异常文本是:“元组”对象没有属性“对手”。
这是我的 serializer.py
class DialogSerializer(serializers.ModelSerializer):
"""A serializer for profile feed items."""
def create(self, validated_data):
dialog=Dialog.objects.get_or_create(**validated_data)
return dialog
class Meta:
model = Dialog
fields = ('id', 'owner','opponent')
extra_kwargs = {'owner': {'read_only': True}}
class DialogueViewSet(viewsets.ModelViewSet):
serializer_class = DialogSerializer
permission_classes = (IsAuthenticated,)
def get_queryset(self):
user=self.request.user
return Dialog.objects.filter(owner=user)
def perform_create(self, serializer):
"""Sets the user profile to the logged in user."""
serializer.save(owner=self.request.user)
# def create(self,**kwargs):
Run Code Online (Sandbox Code Playgroud)
主要问题是get_or_create像(object, created). 所以下面的事情应该可以解决你的问题。
def create(self, validated_data):
dialog, created =Dialog.objects.get_or_create(**validated_data)
return dialog
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |