gpt4 book ai didi

python - Django:用户只能编辑或删除与其帐户绑定(bind)的对象

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:17 25 4
gpt4 key购买 nike

有一个与此类似的问题,但它需要使用 tastypie - 我正在寻找一种无需任何其他附加组件即可实现此目的的方法。

我正在尝试创建一个系统,用户只能编辑与其帐户绑定(bind)的对象。

模型.py:

class Item(models.Model):
...
author = models.ForeignKey(User)
...

我想要一个系统,只有作者字段中指定的用户才能编辑或删除对象。 (对我来说)使用默认管理系统似乎不可能做到这一点。我可以通过编写自己的管理页面来实现它,该页面检查用户是否有权删除特定对象,但如果有其他方法会更好。

最佳答案

您需要为您的模型创建一个 ModelAdmin 实例并重写适当的方法:

class MyModelAdmin(admin.ModelAdmin):    
def has_add_permission(request):
# Should return True if adding an object is permitted, False otherwise.

def has_change_permission(request, obj=None)
# Should return True if editing obj is permitted, False otherwise.
# If obj is None, should return True or False to indicate whether editing of objects of this type is permitted in general

def has_delete_permission(request, obj=None)
# Should return True if deleting obj is permitted, False otherwise.
# If obj is None, should return True or False to indicate whether deleting objects of this type is permitted in general

关于python - Django:用户只能编辑或删除与其帐户绑定(bind)的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com