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)