[英]Django REST POST with PK to HyperlinkedModelSerializer, how to translate PK to URL?
[英]How to hide or modify <pk> in url in Django app?
在我的 url.py 中,我有:
path('gpd/<pk>/', views.gpd, name='gpd'),
我的 view.py 看起來像:
@login_required(login_url='login')
def gpd(request,pk):
current_gpd = get_gpd(pk)
context = {'current_gpd ':current_gpd ,
'pk':pk, }
return render(request, 'app/gpd/gpd_form.html', context)
def get_gpd(id):
return GPD.objects.get(id=id)
我注意到,當我的登錄用戶手動更改pk
- 然后他可以訪問另一個 pk 的頁面。 如何預防?
我的 GPG model:
class GPD(models.Model):
id = models.AutoField(primary_key=True)
employee = models.ForeignKey(Employee, verbose_name='Employee', on_delete = models.CASCADE, related_name='+')
class Employee(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30, verbose_name='Name')
def get_gpd(id,user):
return GPD.objects.get(id=id, employee=user)
so pass in the request.user
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.