в protobuf Python API, как добавить элемент к вложенному сообщению повторного свойства? - PullRequest
3 голосов
/ 02 марта 2012
message items {
    message require {
        optional bool require_sex = 1; //
        repeated int32 fate = 2 [packed = true];
    }
    optional int32 sub_type = 1;
    repeated int32 levels = 2 [packed = true];
}

Я пытался

raw.require.require_sex = 1
raw.require.fate.append(1)
raw.require.fate.extend([2,3])

получил ошибку AttributeError: у объекта 'property' нет атрибута 'append'

но поле первого уровня повторяется отлично:

raw = down_pb2.items()
raw.levels.append(4)

это определение не поддерживается?

1 Ответ

4 голосов
/ 02 марта 2012

Вам нужно создать поле, используя этот тип и затем получить доступ к этому полю в коде.

message items {
    message require {
        optional bool require_sex = 1; //
        repeated int32 fate = 2 [packed = true];
    }
    optional int32 sub_type = 1;
    repeated int32 levels = 2 [packed = true];
    required require sub = 3;
}

тогда

raw.sub.fate.append(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...