【发布时间】:2017-01-27 11:56:20
【问题描述】:
我得到了一个与 django contrib auth User 模型相关的简单模型。我想为公司创建一个 CRUD,但将相关元素设置为列表的 url 而不是元素列表(即指向员工列表的链接而不是单个员工的 url 列表)。这里缺少什么?
models.py
from django.db import models
from django.contrib.auth import get_user_model
User = get_user_model()
class Company(models.Model):
name = models.CharField(max_lenght=256)
employees = models.ManyToManyField(User)
序列化器.py
from rest_framework import serializers
from django.contrib.auth import get_user_model
User = get_user_model()
from .models import Company
class CompanySerializer(serializers.HyperlinkedModelSerializers):
class Meta:
model = Company
fields = ('name', 'employees')
class UserSerializer(serializers.ModelSerializers):
class Meta:
model = User
fields = ('username', 'password', 'email') # and so on
view.py
from rest_framework import viewsets
from django.contrib.auth import get_user_model
User = get_user_model()
from .models import Company
from .serializers import UserSerializer, CompanySerializer
class UserViewset(viewsets.ModelViewSet):
serializer_class = UserSerializer
queryset = User.objects.all()
class CompanyViewset(viewsets.ModelViewSet):
serializer_class = CompanySerializer
queryset = Company.objects.all()
urls.py
from django conf.urls import url, include
from rest_framework.routers import DefaultRouter
from .views import CompanyViewSet, UserViewSet
router = DefaultRouter()
router.register(r'company', CompanyViewSet)
router.register(r'users', UserViewSet)
urlpatterns = [url(r^api/, include(router.urls))]
【问题讨论】:
标签: django foreign-keys django-rest-framework django-authentication