django制作适用于所有型号的日志
我试图创建自己的日志,在对象(我的旧对象和我的新对象)之间创建一个更改的数据字符串,但是我不断返回空字符串 我的代码:django制作适用于所有型号的日志,django,string,join,Django,String,Join,我试图创建自己的日志,在对象(我的旧对象和我的新对象)之间创建一个更改的数据字符串,但是我不断返回空字符串 我的代码: def log_fields(old_obj, new_obj): fields = new_obj.__class__._meta.fields changed_fields = "" old_data = "" new_data = "" # get all changed data for field in fields:
def log_fields(old_obj, new_obj):
fields = new_obj.__class__._meta.fields
changed_fields = ""
old_data = ""
new_data = ""
# get all changed data
for field in fields:
old_field_data = old_obj.__getattribute__(field.name)
new_field_data = new_obj.__getattribute__(field.name)
if old_field_data != new_field_data:
count =+ 1
# convert changed data to strings
# number + space + data + 5 spaces for next string
changed_fields.join(str(count)).join(" ").join(str(field)).join(" ")
old_data.join(str(count)).join(" ").join(str(old_field_data)).join(" ")
new_data.join(str(count)).join(" ").join(str(new_field_data)).join(" ")
print changed_fields
print old_data
print new_data
我感觉字符串有点不对劲。连接组合有点不对劲,因为在shell中手动尝试此操作似乎可以进行比较。我不知道该不该换绳子
changed_fields = changed_fields + str(count) + "." + str(field.name) + " "
old_data = old_data + str(count) + "." + str(old_field_data) + " "
new_data = new_data + str(count) + "." + str(new_field_data) + " "
似乎完成了这项工作,所以现在,我将保持此状态假设对象相同,保存后调用此函数?是的,因此我查找旧对象版本和新版本之间的更改。(计算出了一些。连接出现了可怕的错误:P)