在Django中,可以通过以下步骤让用户只删除他们在Django中创建的对象:
下面是一个示例代码:
# models.py
from django.db import models
from django.contrib.auth.models import User
class UserObject(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
# 添加其他字段
# views.py
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.decorators import login_required
@login_required
def user_objects(request):
user = request.user
objects = UserObject.objects.filter(user=user)
return render(request, 'user_objects.html', {'objects': objects})
@login_required
def delete_object(request, object_id):
user = request.user
object = get_object_or_404(UserObject, id=object_id)
if object.user == user:
object.delete()
return render(request, 'delete_success.html')
else:
return render(request, 'delete_error.html')
在上述示例中,user_objects
函数用于展示用户创建的对象列表,delete_object
函数用于删除对象。其中,@login_required
装饰器用于限制只有登录用户才能访问相关视图。
请注意,以上示例仅为演示目的,实际应用中可能需要根据具体需求进行修改和完善。
关于Django的更多信息和相关产品,您可以参考腾讯云的文档和产品介绍:
领取专属 10元无门槛券
手把手带您无忧上云