Djangoes: RoR has a fixture system called Factory Girl, which I suspect constructs objects in native Ruby, not in JSON/YAML.
If nobody ports it to Django I would; under the name "Factory Squirrel". This post is about the first method I'd add to such a module. Another kewt RoR fixture feature is the accessor. Given a table Order and orders.yml, you can write order(:able) to fetch that Order record from the sample database. I miss that feature, so I wrote one better in Django: class FactorySquirrel: def __getattr__(self, attr): sought = re.search(r'^(.*)_([^_]+$)', attr) if sought: record_name, model_name = sought.groups() model = None try: model = eval(model_name.capitalize()) except NameError: pass if model: record = model.objects.get(name=attr) setattr(self, attr, record) # So we needn't do it again. return record raise AttributeError("%r object has no attribute %r" % (type(self).__name__, attr)) Here's how it works. Suppose you have tables Order and User, and they have 'name' fields with 'kozmik' and 'bullfrog', respectively. In your test, to fetch a record, you just name it: def test_kozmik_bullfrog(self): print self.kozmik_order # reads the fixture database here print self.bullfrog_user print self.kozmik_order # does not re-read the record >From here, to be more useful, we need to think of details like records without names (shameful!). Models with CamelCase already work - kozmik_LineItem. Any ideas how to improve this towards a true Squirrel? -- Phlip http://zeekland.zeroplayer.com/ -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.