Skip to content

Instantly share code, notes, and snippets.

@riajulkashem
Created February 19, 2020 19:40
Show Gist options
  • Save riajulkashem/efc70efcbfe0bfa598f26d76f65dcd04 to your computer and use it in GitHub Desktop.
Save riajulkashem/efc70efcbfe0bfa598f26d76f65dcd04 to your computer and use it in GitHub Desktop.
-----------------------------------------------------------------------------------
Model
-----------------------------------------------------------------------------------
class OnlyActiveManager(models.Manager):
def get_queryset(self):
return super(OnlyActiveManager, self).get_queryset().filter(status='active')
class Device(models.Model):
name = models.CharField(max_length=100)
serial_number = models.CharField(max_length=100)
device_ip = models.GenericIPAddressField()
status = models.CharField(default='active', max_length=50)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('device:device')
class Meta:
verbose_name = 'Device'
verbose_name_plural = 'Devices'
----------------------------------------------------------------------------------
View
------------------------------------------------------------------------------------
def device(request):
context = {
'devices': Device.active.all()
}
return render(request, 'device.html', context=context)
def device_create(request):
if request.method == 'POST':
Device.objects.create(
name=request.POST.get('name'),
)
data = {'msg': "Device Create Successfuly!"}
return JsonResponse(data)
def device_status(request, pk):
i = get_object_or_404(Device, pk=pk)
if i.status == 'active':
i.status = 'deactive'
i.save()
else:
i.status = 'active'
i.save()
return redirect('device:device')
def device_update(request, pk):
Device = get_object_or_404(Device, pk=pk)
data = {
'name': Device.name,
}
if request.method == 'POST':
Device.name = request.POST.get('name')
data = {'msg': "Device Information Updated Successfuly"}
return JsonResponse(data)
def device_delete(request, pk):
i = get_object_or_404(Device, pk=pk)
i.delete()
data = {'msg': 'Device Information deleted Successfuly!'}
return JsonResponse(data)
-------------------------------------------------------------------------
urls.py
-------------------------------------------------------------------------
path('add/', views.add_device, name='add_device'),
path('status/<int:pk>/', views.device_status, name='status'),
path('update/<int:pk>/', views.device_update, name='update'),
path('delete/<int:pk>/', views.device_delete, name='delete'),
-------------------------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment