def get_updates_for_model(klass):
global salt
if salt is None:
salt = uuid.uuid4()
fields = []
sensitive_fields = get_sensitive_fields(klass)
if not sensitive_fields:
return None
for field in sensitive_fields:
field_object = klass._meta.get_field(field)
value_method = get_value_method(field_object, connection.vendor)
data = {'table_name': klass._meta.db_table, 'field_name': field, 'salt': salt}
fields.append({'field_name': field, 'value_method': value_method.format(**data)})
assignments = map(lambda x: ASSIGNMENT_TEMPLATE.format(**x), fields)
assignments = ",".join(assignments)
query = UPDATE_QUERY_TEMPLATE.format(table_name=klass._meta.db_table, assignments=assignments)
return query
评论列表
文章目录