记录下:
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()