我有一个带有DefaultRouter的小应用程序,用于处理某些型号的基本操作。
问题是,我需要重写标准DefaultRouter的创建和更新方法,以便在不使用Django Admin的情况下处理problem。
模型等没什么特别的,但是重要的是我想使用特定的抽象模型作为父类来覆盖所有模型的方法。如果我在模型中创建了save()和update()方法,则DefaultRouter崩溃。
from django.db import models
"""
Class contains common fields for all models
"""
class AbstractOurModel(models.Model):
add_user = models.ForeignKey(
'User',
models.PROTECT,
blank=False,
null=False,
related_name='%(class)s_add_user'
)
add_date = models.DateTimeField(auto_now_add=True)
mod_user = models.ForeignKey(
'User',
models.PROTECT,
blank=False,
null=False,
related_name='%(class)s_mod_user'
)
mod_date = models.DateTimeField(auto_now=True)
def save(request):
self.add_user = request.user
self.mod_user = request.user
def update(request):
self.mod_user = request.user
class Meta:
abstract = True
感谢您的帮助!