4

日付、整数、整数の 3 つのフィールドを持つ GAE データストアのモデルに書き込もうとしています。

class fusSent(db.Model):
    """ Models a list of the follow-ups due and follow-ups sent """
    date_created = db.DateTimeProperty(auto_now_add=True)
    fu_date = db.DateProperty()
    fus_due = db.IntegerProperty()
    fus_sent = db.IntegerProperty()

このデータは、一致するキー (日付) を持つ 2 つの異なる辞書から取得されます。下記参照。

fus_d = {2013-01-01: 1, 2013-04-01: 1, 2013-02-01: 1, 2013-03-01: 1}
fus_s = {2013-01-01: 0, 2013-04-01: 0, 2013-02-01: 1, 2013-03-01: 1} 

私の推測では、データストアに保存するには、辞書を (下のような) リストに結合する必要があります。ただし、これが最善のアプローチであるかどうかは完全にはわかりません。

fu_list = [(2013-01-01, 1, 0), (2013-04-01, 1, 0), (2013-02-01, 1, 1), (2013-03-01, 1, 1)]
4

3 に答える 3

6

辞書には実際に日付があることを願っていfus_dます. しかし、以下はうまくいくはずですfus_s2013-01-012011

s = set(fus_d.keys())
s.update(fus_s.keys())
fu_list = [(k, fus_d.get(k), fus_s.get(k)) for k in s]

編集: また、python 2.7viewkeysでは、 を使用する代わりに dict から直接使用できますset

fu_list = [(k, fus_d.get(k), fus_s.get(k)) for k in fus_d.viewkeys() | fus_s]
于 2013-06-10T21:25:08.407 に答える