class Item(BaseModel):
name = models.CharField(max_length=255)
pending = models.BooleanField(default=False)
如果用户在管理面板中创建新项目,则挂起字段为false,并且此项目不会在网站上显示,直到其他用户将此字段设置为True,但此用户不得在待处理状态下进行更改他的项目上的字段,但他可以对其他用户项目执行此活动。任何解决方案?
答案 0 :(得分:0)
有很多方法可以实现这一点,具体取决于您最终将如何使用它。最直接的方法是在你的Item上添加一个外键给用户(假设你使用django auth)。
from django.contrib.auth.models import User
class Item(BaseModels):
created_by = models.ForeignKey(User)
name = models.CharField(max_length=255)
pending = models.BooleanField(default=False)
假设这只是通过视图公开,那么你可以这样做:
def some_view(request):
if item_being_edited.created_by = request.user and not item_being_edited.pending:
#rejection goes here
#do stuff
作为旁注,更改待处理字段。要么具有pending = True意味着项目处于待处理状态,要么具有待批准= False。如果在没有体操的情况下阅读它是有意义的话,它会让事情变得更容易。