Django admin 中的伪表单在保存时生成 json 对象

djangoJS

1个回答

写回答

13857387814

2025-06-23 08:45

+ 关注

Django
Django

使用Django admin的伪表单功能,我们可以在保存数据时生成一个JSON对象。这个功能非常有用,特别是当我们需要将数据以JSON格式存储或发送给其他应用程序时。下面我将为大家介绍如何在Django admin中实现这一功能。

首先,让我们创建一个简单的示例模型来说明伪表单的使用。假设我们有一个名为"Product"的模型,它具有名称、价格和描述等字段。我们希望在保存产品信息时,将这些字段的值保存为一个JSON对象。

Python

from Django.db import models

class Product(models.Model):

name = models.CharField(max_length=100)

price = models.DecimalField(max_digits=8, decimal_places=2)

description = models.TextField()

def save(self, *args, <strong>kwargs):

# 创建一个字典,保存字段名和对应的值

data = {

'name': self.name,

'price': str(self.price),

'description': self.description,

}

# 将字典转换为JSON对象

JSon_data = JSon.dumps(data)

# 将JSON对象存储到数据库中

self.JSon_data = JSon_data

super().save(*args, </strong>kwargs)

在上面的示例中,我们重写了模型的save方法。在保存数据之前,我们创建了一个字典来保存字段名和对应的值。然后,我们使用JSon.dumps方法将字典转换为JSON字符串,并将其保存到模型的JSon_data字段中。最后,我们调用父类的save方法来保存数据。

现在,我们可以在Django admin中使用这个模型。当我们在admin界面中创建或修改一个产品时,它的字段值将被保存为一个JSON对象。我们可以在其他地方使用这个JSON对象,比如将它作为API的响应返回给前端。

案例代码:

Python

from Django.contrib import admin

from .models import Product

@admin.register(Product)

class ProductAdmin(admin.ModelAdmin):

list_display = ['name', 'price', 'description']

上面的代码创建了一个ProductAdmin类,并将其注册到Django admin中。这样,在admin界面中我们就可以对产品进行增、删、改、查的操作了。同时,产品的字段值将以JSON格式保存到数据库中。

这样,我们就完成了在Django admin中使用伪表单生成JSON对象的功能。通过将字段值保存为JSON对象,我们可以更方便地处理和传递数据。无论是存储数据还是与其他应用程序进行数据交互,使用JSON对象都是一种非常灵活和常用的方式。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号