PynamoDB: как обновить атрибут в ListAttribute для MapAttribute - PullRequest
0 голосов
/ 14 июля 2020

Я изучаю, как использовать PynamoDB для работы с AWS DynamoDB в моем Python коде. Вот что я определил до сих пор:

class OfficeEmployeeMap(MapAttribute):
    office_employee_id = NumberAttribute(hash_key=True)
    office_employee_direct_ids = UnicodeSetAttribute()

class Office(Model):
    class Meta:
        table_name = 'OfficeModel'
    office_id = NumberAttribute(hash_key=True)
    employees = ListAttribute(of=OfficeEmployeeMap)

Office.create_table(read_capacity_units=1, write_capacity_units=1) 

Вот как я добавил к списку атрибутов карты (employees):

emp1 = OfficeEmployeeMap(
    office_employee_id=111,
    office_employee_direct_ids={"222"}
)

Office(
    office_id=1
).update(
    actions=[
        Office.employees.set((Office.employees|[]).append([emp1]))
    ]
)

И вот кто я видя во вновь созданной таблице DynamoDB OfficeModel:

введите описание изображения здесь

Теперь мне нужно добавить другое значение, например 333, в набор office_employee_direct_ids, где office_employee_id == 111, как я могу сделать это с помощью PynamoDB? Спасибо за помощь!

...