Django Make ContentType Not Required

У меня есть эта модель:

class Auth(models.Model):
    TYPES = (
         ('agent', 'Agent'),
         ('broker', 'Broker'),
     )
    user = models.ForeignKey(User, unique=True)
    type = models.CharField(max_length=20, choices=TYPES)
    applied = models.BooleanField()
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField(db_index=True)
    content_object=generic.GenericForeignKey('content_type', 'object_id')

, и всякий раз, когда я делаю что-то вроде этого:

User.objects.create_user(username="myuser", password="myuser", email="myemail.com")
u = User.objects.get(username="myuser")
profile = Auth(user=u)
profile.save()

, конечно, я получаю сообщение об ошибке:

IntegrityError: (1048, "Column 'content_type_id' cannot be null")

Для моих целей я не могу избежать типов содержимого, потому что Auth - это класс, в котором Broker и Класс агента наследуется от, что позволяет мне создавать несколько настраиваемых профилей.

Мне было интересно, есть ли способ, при котором тип контента не потребуется.

Заранее спасибо!

6
задан yretuta 8 April 2011 в 09:25
поделиться