Reader s Digest version: How do I get data (either single row if specified or full table) from a model by taking a URL argument of the model s name without hardcoding the URLconfs to match each model? For more details, read on:
I m making an app that has three models, and I want to make a simple view that takes a name of a model, and spit out the model s default manager s Model.manager.all(),
and if there s a slug, a single object matching that slug. I don t know how to do this, so I m running into problems with having to make views/URLconfs for EACH model individually.
Here s what the URLconfs are looking like:
(r ^model1/$ , model1_index_view , model1_index ),
(r ^model1/(?P<slug>[-w]+)/$ , model1_detail_view , model1_detail ),
(r ^model2/$ , model2_index_view , model2_index ),
It goes on a little bit longer, but I think you get the picture. I m ending up hardcoding a relatively large amount of URLconfs to do something that I m thinking I can do with perhaps one View that takes a Model name as an argument and optionally a slug. My concern is, what happens if someone specifies a Model name of say... User? Is there a snippet of code to get a list of models from an app and make sure it matches one of em and not a model from contrib.auth or another app?