小编Ano*_*oop的帖子

尝试获取序列化程序“DialogSerializer”上的字段“对手”的值时出现 AttributeError

在 serializer.py 中使用 create 方法后出现错误

这是我的错误:

尝试获取opponent serializer 上的字段值时出现 AttributeError DialogSerializer。序列化器字段可能命名不正确,并且与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)

django-rest-framework

2
推荐指数
1
解决办法
255
查看次数

断言错误:需要一个“日期”,但得到一个“日期时间”。拒绝强制,因为这可能意味着丢失时区信息

我在创建 API 时遇到了一些问题

这是我的模型

class Education(AuditFields):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    school = models.CharField(max_length=255, blank=True)
    field_of_study = models.CharField(max_length=255, blank=True)
    start_year = models.DateField(default=datetime.now)
    end_year = models.DateField(default=datetime.now)
Run Code Online (Sandbox Code Playgroud)

这是我的序列化程序:

class EducationSerializer(ModelSerializer):
    class Meta:
        model = Education
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

意见:

class EducationCreateView(CreateAPIView):
    def get_queryset(self, *args, **kwargs):
        queryset_list = Education.objects.filter(
            user=self.request.user)

        return queryset_list
    serializer_class = EducationSerializer

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)

如果我发布了一些东西,它会显示以下消息

{
    "user": [
        "This field is required."
    ]
}
Run Code Online (Sandbox Code Playgroud)

如果我像这样改变我的序列化程序

class EducationSerializer(ModelSerializer):
    class Meta:
        model = Education
        fields = '__all__'
        extra_kwargs = {'user': {'required': …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

2
推荐指数
2
解决办法
3797
查看次数

没有名为“airflow.providers.mysql”的模块

我正在尝试使用 Airflow 的 MysqlOperator

导入时

从airflow.providers.mysql.operators.mysql导入MySqlOperator

我收到以下错误

没有名为“airflow.providers.mysql”的模块

airflow

2
推荐指数
1
解决办法
6545
查看次数

如何更改响应结构

我面临一个改变以下结构的问题.....

这是我得到的结构

{
    "labels": [
        "List A",
        "List B",
        "List C",
        "List D"
    ],
    "data": [
        19,
        25,
        30,
        32
    ],
    "colors": [
        "#e15759",
        "#f28e2b",
        "#76b7b2",
        "#4e79a7"
    ],
}
Run Code Online (Sandbox Code Playgroud)

但是我想把下面的数据改成下面的方法

    {
        "category": "List D",
        "value": 32,
        "colors":         "#e15759"  
    },
    {
        "category": "List C",
        "value": 25
        "colors": "#f28e2b"
    },
    {
        "category": "List B",
        "value": 30,
        "colors": "#76b7b2"
    },
    {
        "category": "List A",
        "value": 19,
        "colors" : "#4e79a7"

    }
Run Code Online (Sandbox Code Playgroud)

这是我的代码

class AbcListAPI(APIView):
    def get(self, request, format=None):
        a = data_fuction()
        return Response(a)
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我从在我的代码的另一部分使用的函数 …

python django-rest-framework

0
推荐指数
1
解决办法
44
查看次数

标签 统计

django-rest-framework ×3

airflow ×1

django ×1

python ×1