在Djang中保存序列化程序

2024-03-29 06:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图在视图的post()中保存一个模型对象(这里它的名称是“RSS”)时,它没有被保存,如何从视图的post()保存模型实例“RSS”?在

在Serializers类中:

class RSSSerializer(serializers.ModelSerializer):
    class Meta:
        model = RSS
        fields = ('feed_url', 'website_url', 'description', 'title')

    def create(self, validated_data):
        rss = RSS(**validated_data)
        rss.created_at =  datetime.now()
        rss.last_scan_time = '2001-01-01 00:00:00'
        rss.id = None
        return rss

在视图类中:

^{pr2}$

Tags: 对象实例模型名称视图urldatapost
1条回答
网友
1楼 · 发布于 2024-03-29 06:28:38

当前的create方法实例化了一个新的RSS对象,但不保存它。试试这个:

def create(self, validated_data):
    rss = RSS.objects.create(**validated_data)
    rss.created_at = datetime.now()
    ...
    return rss.save()

更多信息:Django rest framework: override create() in ModelSerializer passing an extra parameter

http://www.django-rest-framework.org/api-guide/serializers/#saving-instances

If your object instances correspond to Django models you'll also want to ensure that these methods save the object to the database.

相关问题 更多 >