Skip to content

Instantly share code, notes, and snippets.

@paderinandrey
Last active January 2, 2022 18:28
Show Gist options
  • Save paderinandrey/877a0d079a5ef18a1ff589ddafa58f16 to your computer and use it in GitHub Desktop.
Save paderinandrey/877a0d079a5ef18a1ff589ddafa58f16 to your computer and use it in GitHub Desktop.
Rebrain:Python. Task-14
# Generated by Django 4.0 on 2022-01-02 17:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rbr_srv_side', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='server',
name='server_is_active',
field=models.BooleanField(default=False, verbose_name='Server is active'),
),
]
from django.contrib import admin
from .models import Server
@admin.register(Server)
class ServerAdmin(admin.ModelAdmin):
list_display = ('ip_address', 'name', 'description', 'server_is_active')
from django.db import models
class Server(models.Model):
name = models.CharField('name', max_length=255)
ip_address = models.GenericIPAddressField(
'IP', max_length=16, default='0.0.0.0')
description = models.TextField(
'description', max_length=255, default='no_description')
server_is_active = models.BooleanField('Server is active', default=False)
class Meta:
managed = True
verbose_name = 'Server'
from rest_framework import serializers
from .models import Server
class ServerSerializer(serializers.ModelSerializer):
class Meta:
model = Server
fields = ['id', 'ip_address', 'description',
'name', 'server_is_active']
class ShortServerSerializer(serializers.ModelSerializer):
class Meta:
model = Server
fields = ['ip_address', 'server_is_active']
from django.urls import path
from .views import ServerViewSet, ServerDetailView, ServerAddView, ShortServerViewSet
urlpatterns = [
path('servers/', ServerViewSet.as_view()),
path('servers/status', ShortServerViewSet.as_view()),
path('servers/<int:pk>', ServerDetailView.as_view()),
path('servers/add', ServerAddView.as_view()),
]
from rest_framework import generics
from .serializer import ServerSerializer, ShortServerSerializer
from .models import Server
class ServerViewSet(generics.ListAPIView):
queryset = Server.objects.all()
serializer_class = ServerSerializer
class ShortServerViewSet(generics.ListAPIView):
queryset = Server.objects.all()
serializer_class = ShortServerSerializer
class ServerAddView(generics.CreateAPIView):
queryset = Server.objects.all()
serializer_class = ServerSerializer
class ServerDetailView(generics.RetrieveUpdateDestroyAPIView):
queryset = Server.objects.all()
serializer_class = ServerSerializer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment