

def collect_fields(self, fields, *layouts):
    '`fields` is a pointer to either `self.detail_fields` or\n        `self.list_fields`.  Each of these must contain a primary key\n        field.\n\n        '
    pk_found = False
    for layout in layouts:
        for df in layout._store_fields:
            assert (df is not None)
            self.add_field_for(fields, df)
            if df.primary_key:
                self.primary_keys.add(df)
                pk_found = True
                if (self.pk is None):
                    self.pk = df
    if (self.pk is None):
        self.pk = self.actor.get_pk_field()
    if (self.pk is not None):
        if (not pk_found):
            self.add_field_for(fields, self.pk)

dataset/ETHPy150Open lsaffre/lino/lino/core/store.py Store.collect_fields/original