python 将object 序列化成json字符串的方法

记录下:

class LicenceInfo(models.Model):
    STATE={
        (1,"使用中"),
        (2, "注销"),
        (3, "停用"),
    }
    ID = models.AutoField(primary_key=True)  # ID 自增列
    OnlyCode=models.CharField(max_length=100) #唯一码
    LicenceName=models.CharField(max_length=50) #项目名称
    CompanyName=models.CharField(max_length=32) #厂家名称
    GenerateDate = models.DateTimeField(auto_now_add=True)  # 生成时间
    effective = models.DateTimeField()  # 有效时间
    seconds = models.CharField(max_length=32, null=True)   # 有效秒
    email = models.CharField(max_length=32, null=True)  # 厂家邮箱
    phone= models.CharField(max_length=32, null=True)  # 厂家电话
    clear=models.CharField(max_length=2000) #明文
    cipher=models.CharField(max_length=2000) #密文
    UserID = models.CharField(max_length=32)  # 操作人ID
    User=models.CharField(max_length=32)  #操作人姓名
    LicenceState=models.SmallIntegerField(choices=STATE) #状态
    Licence_A=models.CharField(max_length=100) #购买时间
    Licence_B=models.CharField(max_length=100) #厂家联系人
    Licence_C=models.CharField(max_length=100) #预留3

重点 
    def toJSON(self):
        fields = []
        for field in self._meta.fields:
            fields.append(field.name)


        d = {}
        for attr in fields:
            if isinstance(getattr(self, attr), datetime.datetime):
                d[attr] = getattr(self, attr).strftime('%Y-%m-%d %H:%M:%S')
            elif isinstance(getattr(self, attr), datetime.date):
                d[attr] = getattr(self, attr).strftime('%Y-%m-%d')
            else:
                d[attr] = getattr(self, attr)


        import json

        return json.dumps(d,ensure_ascii=False)#ensure_ascii=False的作用是中文输出是不会呈现\xxx\xx的字符


使用方法:

obj = LicenceInfo.objects.get(ID=id)
str= obj.toJSON()


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值