Форум сайта python.su
empirik
Здесь получается, что нужно каждый раз создавать объект этого типа TaggedItem. Получается, мне нужно где-то в коде следить за тем, не создался ли у меня объект одного из типов User или StoreCell и тогда добавлять объект типа TaggedItem. Со StoreCell все просто, это мой объект, можно, к примеру
from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType class StoreCell(models.Model): name = models.CharField(max_length=50) class StoreCell2(models.Model): name = models.CharField(max_length=50) class Circuit(models.Model): name = models.CharField(max_length=50) place_type = models.ForeignKey(ContentType) palce_id = models.PositiveIntegerField('place_id') place = generic.GenericForeignKey('place_type', 'palce_id') def __unicode__(self): return u'%s' % self.name
place1 = StoreCell.objects.get_or_create(name='Store cell 1')[0] c1 = Circuit(place=place1, name = 'Circuit1') c1.save() place2 = StoreCell2.objects.get_or_create(name='Store cell 2')[0] c2 = Circuit(place=place2, name = 'Circuit2') c2.save()
Отредактировано inoks (Фев. 14, 2013 12:32:01)
Офлайн
inoks, спасибо. Но тут есть одно но: ведь у GenericForeignKey нет никакого виджета в админке, его никак не отобразить. Кто-нибудь знает, если ли решения готовые для этого дела?
Офлайн
Посмотрите на проект django-grappelli - там есть виджеты для этого.
Офлайн
Да, спасибо, уже поставил grappelli, все отлично работает.
Офлайн