Вопросы с тегом «django-rest-framework»

Мощный и гибкий набор инструментов для создания веб-API RESTful. Django - это веб-фреймворк Python высокого уровня, который способствует быстрой разработке и чистому, прагматичному дизайну. Созданный опытными разработчиками, он берет на себя большую часть хлопот веб-разработки, поэтому вы можете сосредоточиться на написании своего приложения, не изобретая велосипед. Это бесплатно и с открытым исходным кодом.

2
ModelSerializer с использованием свойства модели
Я пытаюсь сериализовать модель, содержащую поле свойств, которое я также хочу сериализовать. models.py: class MyModel(models.Model): name = models.CharField(max_length=100) slug = models.AutoSlugField(populate_from='name') @property def ext_link(self): return "/".join([settings.EXT_BASE_URL, self.slug]) serializers.py: class MyModelSerializer(serializers.ModelSerializer): class Meta: model = MyModel fields = ('name', 'ext_link') При попытке перейти к соответствующему URL-адресу я получаю исключение сериализатора (KeyError) …

15
Загрузка файла Django Rest Framework
Я использую Django Rest Framework и AngularJs для загрузки файла. Мой файл просмотра выглядит так: class ProductList(APIView): authentication_classes = (authentication.TokenAuthentication,) def get(self,request): if request.user.is_authenticated(): userCompanyId = request.user.get_profile().companyId products = Product.objects.filter(company = userCompanyId) serializer = ProductSerializer(products,many=True) return Response(serializer.data) def post(self,request): serializer = ProductSerializer(data=request.DATA, files=request.FILES) if serializer.is_valid(): serializer.save() return Response(data=request.DATA) Поскольку последняя …

3
Как изменить имя поля в Django REST Framework
Я пытаюсь изменить имя поля модели в сериализаторе DRF, например псевдоним в SQL. Я пробовал разные методы, но не смог. models.py class Park(models.Model): name = models.CharField(max_length=256) alternate_name = models.CharField(max_length=256, blank=True) objects = models.GeoManager() class Meta: db_table = u'p_park' def __unicode__(self): return '%s' % self.name def alias_alternate_name(self): return self.alternate_name serializers.py class …

1
Когда использовать create () Serializer и create () perform_create () ModelViewset
Хочу пояснить данную документацию django-rest-frameworkпо созданию объекта модели. Пока что я обнаружил, что есть 3 подхода к обработке таких событий. Метод сериализатора create(). Вот документация class CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data) Метод ModelViewset create(). Документация class AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly] Метод ModelViewset perform_create(). …

8
Django Rest Framework - Как добавить настраиваемое поле в ModelSerializer
Я создал ModelSerializerи хочу добавить настраиваемое поле, которое не является частью моей модели. Я нашел описание для добавления дополнительных полей сюда и попробовал следующее: customField = CharField(source='my_field') Когда я добавляю это поле и вызываю свою validate()функцию, это поле не является частью attrdict. attrсодержит все указанные поля модели, кроме дополнительных полей. …

7
Получение значения внешнего ключа с помощью сериализаторов django-rest-framework
Я использую структуру django rest для создания API. У меня есть следующие модели: class Category(models.Model): name = models.CharField(max_length=100) def __unicode__(self): return self.name class Item(models.Model): name = models.CharField(max_length=100) category = models.ForeignKey(Category, related_name='items') def __unicode__(self): return self.name Чтобы создать сериализатор для категорий, я бы сделал: class CategorySerializer(serializers.ModelSerializer): items = serializers.RelatedField(many=True) class Meta: …

11
Django rest framework вложенные самореферентные объекты
У меня есть модель, которая выглядит так: class Category(models.Model): parentCategory = models.ForeignKey('self', blank=True, null=True, related_name='subcategories') name = models.CharField(max_length=200) description = models.CharField(max_length=500) Мне удалось получить плоское json-представление всех категорий с помощью сериализатора: class CategorySerializer(serializers.HyperlinkedModelSerializer): parentCategory = serializers.PrimaryKeyRelatedField() subcategories = serializers.ManyRelatedField() class Meta: model = Category fields = ('parentCategory', 'name', 'description', 'subcategories') …

7
Python Django Rest Framework UnorderedObjectListWarning
Я обновился с Django 1.10.4 до 1.11.1, и внезапно я получаю массу этих сообщений, когда запускаю свои тесты: lib/python3.5/site-packages/rest_framework/pagination.py:208: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <QuerySet [<Group: Requester>]> paginator = self.django_paginator_class(queryset, page_size) Я проследил это до модуля Django Pagination: https://github.com/django/django/blob/master/django/core/paginator.py#L100 Кажется, это связано с моим кодом …

7
Фреймворк Django rest, сериализующий поля многие ко многим
Как мне сериализовать поле «многие ко многим» в список чего-либо и вернуть их через структуру отдыха? В моем примере ниже я пытаюсь вернуть сообщение вместе со списком связанных с ним тегов. models.py class post(models.Model): tag = models.ManyToManyField(Tag) text = models.CharField(max_length=100) serializers.py class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = …

4
Учетные данные для авторизации удалены - django, elastic beanstalk, oauth
Я реализовал REST api в django с django-rest-framework и использовал oauth2 для аутентификации. Я тестировал: curl -X POST -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=password&username=YOUR_USERNAME&password=YOUR_PASSWORD" http://localhost:8000/oauth2/access_token/ и curl -H "Authorization: Bearer <your-access-token>" http://localhost:8000/api/ на localhost с успешными результатами в соответствии с документацией. При переносе этого на существующий экземпляр эластичного beanstalk AWS я получил: { "detail" …

1
Django REST Framework (DRF): TypeError: register () получила неожиданный аргумент ключевого слова 'base_name'
Я обновил до djangorestframework==3.11.0более старой версии. Теперь у меня есть эта ошибка, TypeError: register () получила неожиданный аргумент ключевого слова 'base_name' Traceback ... ... ... File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module> path('sample/', include('sample.urls')), File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.