Сопоставление ключей **kwargs с полями экземпляра класса
Сейчас я делают это так:
def save(self, **kwargs):
keys = kwargs.keys()
history = PaymentHistory()
for key in keys:
if key=="type":
history.OperationType = kwargs[key]
elif key=="deviceUuid":
history.deviceUuid = kwargs[key]
elif key=="optionId":
history.optionId = kwargs[key]
elif key=="clientId":
history.clientId = kwargs[key]
Но, кажется, должен быть способ получше. я хотел бы видеть что-то типа:
def save(self, **kwargs):
keys = kwargs.keys()
history = PaymentHistory()
for key in keys:
history[key] = kwargs[key]
В общем, какой-нибудь способ не проверяя каждый ключ постоянно. Экземпляр, в который пытаюсь передать эти данные - это стандартная Django-модель.
Попробуйте через setattr:
setattr(history, key, kwargs[key])