items = SortedOneToManyField('self', sorted=True, related_name='category', blank=True) class ItemStringRef(models.Model): name = models.CharField(max_length=50) class CategoryStringRef(models.Model): name = models.CharField(max_length=50) items = SortedOneToManyField('ItemStringRef', sorted=True, related_name='category', blank=True) class ItemFixed(models.Model): name = models.CharField(max_length=50) class CategoryFixed(models.Model): name = models.CharField(max_length=50) inject_extra_field_to_model(CategoryFixed, 'items', SortedOneToManyField(ItemFixed, sorted=True, related_name='category', blank=True)) from .app2.models import M1, M2 inject_extra_field_to_model(M1, 'items', SortedOneToManyField(M2, sorted=True, related_name='category', blank=True))
def __str__(self): return self.name class CategorySelf(models.Model): name = models.CharField(max_length=50) items = SortedOneToManyField('self', sorted=True, related_name='category', blank=True) class Meta: verbose_name_plural = "self categories" def __str__(self): return self.name class CategoryFixed(models.Model): name = models.CharField(max_length=50) class Meta: verbose_name_plural = "fixed categories" inject_extra_field_to_model(CategoryFixed, 'items', SortedOneToManyField(Item, sorted=True, blank=True)) from django.contrib.auth.models import User inject_extra_field_to_model(User, 'items', SortedOneToManyField(Item, related_name='owner'))
class CategorySelf(models.Model): name = models.CharField(max_length=50) items = SortedOneToManyField('self', sorted=True, related_name='category', blank=True) class Meta: verbose_name_plural = "self categories" def __str__(self): return self.name class CategoryFixed(models.Model): name = models.CharField(max_length=50) class Meta: verbose_name_plural = "fixed categories" inject_extra_field_to_model( CategoryFixed, 'items', SortedOneToManyField(Item, sorted=True, blank=True)) from django.contrib.auth.models import User inject_extra_field_to_model(User, 'items', SortedOneToManyField(Item, related_name='owner'))