【发布时间】:2011-08-01 08:36:45
【问题描述】:
我有这个模型:
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 是代理和代理类继承自的类,它允许我执行多个自定义配置文件。
我想知道是否有一种不需要内容类型的方法。
提前致谢!
【问题讨论】:
标签: python django content-type