在/auth1/Timings/2找不到Django页面/
我知道我的URL有问题。但是我想不出来 models.py在/auth1/Timings/2找不到Django页面/,django,django-rest-framework,django-views,Django,Django Rest Framework,Django Views,我知道我的URL有问题。但是我想不出来 models.py class Restaraunt(models.Model): name=models.CharField(max_length=50,blank=True,null=True) class Schedule(models.Model): restaraunt=models.ForeignKey(Restaraunt, on_delete=models.CASCADE,related_name='restaraunt
class Restaraunt(models.Model):
name=models.CharField(max_length=50,blank=True,null=True)
class Schedule(models.Model):
restaraunt=models.ForeignKey(Restaraunt, on_delete=models.CASCADE,related_name='restaraunt_name')
#days=models.CharField(choices=DAYS,max_length=255)
opening_time=models.TimeField(auto_now=False,auto_now_add=False)
closing_time=models.TimeField(auto_now=False,auto_now_add=False)
def __str__(self):
return str(self.restaraunt)
class Restarasunt(viewsets.ViewSet):
def create(self,request):
try:
name=request.data.get('name')
if not name:
return Response({"message": "name is rerquired!","success":False},
status=status.HTTP_200_OK )
res_obj=Restaraunt()
res_obj.name=name
print(res_obj.name)
res_obj.save()
return Response("Restaurant addedd successfully")
except Exception as error:
traceback.print_exc()
return Response({"message":str(error),"success":False},status = status.HTTP_200_OK)
class ScheduleViewSet(viewsets.ViewSet):
def create(self,request,pk):
try:
res_obj=Restaraunt.objects.filter(pk=pk)
print('hie',res_obj)
data=request.data
opening_time=data.get('opening_time')
closing_time=data.get('closing_time')
sce_obj=Schedule()
sce_obj.opening_time=opening_time
sce_obj.closing_time=closing_time
sce_obj.restaraunt=res_obj
sce_obj.save()
return Response("")
except Exception as error:
traceback.print_exc()
return Response({"message":str(error),"success":False},status = status.HTTP_200_OK)
url.PY
from rest_framework.routers import DefaultRouter
from auth1 import views
router=DefaultRouter()
router.register(r'retaraunt', views.Restarasunt, basename='Restarasunt')
router.register(r'Timings', views.ScheduleViewSet, basename='ScheduleViewSet')
urlpatterns = router.urls
如中所示,您需要为类添加retrieve
方法
class用户视图集(viewsets.ViewSet):
"""
用于列出或检索用户的简单视图集。
"""
def列表(自我、请求):
queryset=User.objects.all()
serializer=UserSerializer(queryset,many=True)
返回响应(serializer.data)
def检索(自我、请求、主键=无):
queryset=User.objects.all()
user=get\u object\u或\u 404(queryset,pk=pk)
serializer=UserSerializer(用户)
返回响应(serializer.data)
我不认为create视图应该与“pk”一起使用。您能否尝试从request.data获取“pk”值并使用它获取重启对象将此行更改为res\u obj=restarunt.objects.filter(pk=pk)
asres\u obj=restarunt.objects.get(pk=pk)
。您试图只获取一条记录,但筛选器返回queryset。@adnankaya仍然得到相同的错误,找不到路径,我是否也需要将pk传递到其他位置?伙计,它正在更新方法中运行,postman中的put方法中运行