1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from django.db import models
class GenericModel(models.Model):
app_name = models.CharField(maxlength=64)
model_name = models.CharField(maxlength=64)
object_id = models.IntegerField()
def get_model_class(self):
return models.get_model(self.app_name, self.model_name)
def get_this_object(self):
return self.get_model_class()._default_manager.get(**kwargs)
def __str__(self):
return self.get_this_object().__str__()
|
More like this
- Model merging function by xaralis 1 year, 5 months ago
- Manager method for limiting GenericForeignKey queries by zerok 3 years, 9 months ago
- ManyToManyField no syncdb by powerfox 3 years, 3 months ago
- EditInline for GenericForeignKey by king 4 years ago
- Database template loader by doomatel 1 month, 3 weeks ago
Comments
Also, note that the
GenericForeignKeyfield included in Django allows a fairly clean implementation of this.#