2
我试图让一个抽象的模型在Django工作,我撞了南墙试图设置每个推荐这里的related_name:http://docs.djangoproject.com/en/dev/topics/db/models/#be-careful-with-related-nameapp_label在一个抽象的Django模型
这是我的抽象模型看起来像:
class CommonModel(models.Model):
created_on = models.DateTimeField(editable=False)
creared_by = models.ForeignKey(User, related_name="%(app_label)s_%(class)s_created", editable=False)
updated_on = models.DateTimeField(editable=False)
updated_by = models.ForeignKey(User, related_name="%(app_label)s_%(class)s_updated", editable=False)
def save(self):
if not self.id:
self.created_on = datetime.now()
self.created_by = user.id
self.updated_on = datetime.now()
self.updated_by = user.id
super(CommonModel, self).save()
class Meta:
abstract = True
我的常用模型是在[project_root] /models.py中。正是这种模式,它坐落在一个应用程序称为反馈的父对象[project_root] /feedback/models.py:
from django.db import models
from mediasharks.models import CommonModel
class Feedback(CommonModel):
message = models.CharField(max_length=255)
request_uri = models.CharField(max_length=255)
domain = models.CharField(max_length=255)
feedback_type = models.IntegerField()
基本上我试图建立一个共同的模式,这样我会始终能够分辨数据库条目何时创建以及由谁创建。
当我运行“蟒蛇manage.py验证”我收到此错误信息:KeyError异常:“app_label”
我失去了一些东西在这里?
啊,谢谢你,丹尼尔。下次我会更仔细地阅读文档。 – rayan 2010-05-03 17:48:29