I'm using the Python version of Google App Engine and Datastore. What is a good way to load a table that will contain lookup data?
By look up data I mean that after the initial load no rows will need to be inserted, deleted, or updated
Blowing away all rows and reloading the table is not acceptable if it destroys referential integrity with other rows referring to it.
Here is an example of a couple kinds that I am using that I want to load lookup data into
class Badge(db.Model):
name = db.StringProperty()
level = db.IntegerProperty()
class Achievement(db.Model):
name = db.StringProperty()
level = db.IntegerProperty()
badge = db.ReferenceProperty(reference_class=Badge)
Here is an example of a kind not holding look up data but referring to it
class CamperAchievement(db.Model):
camper = db.ReferenceProperty(reference_class=Camper)
achievement = db.ReferenceProperty(reference_class=Achievement)
session = db.ReferenceProperty(reference_class=Session)
passed = db.BooleanProperty(default=True)
I'm looking to find out two things:
What should the code to load the data look like?
What should trigger the loading code to execute?