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

По вопросам использования модельного класса из веб-фреймворка Django.

6
Как ограничить максимальное значение числового поля в модели Django?
Django имеет различные числовые поля, доступные для использования в моделях, например, DecimalField и PositiveIntegerField . Хотя первое может быть ограничено количеством сохраненных десятичных разрядов и общим количеством сохраненных символов, есть ли способ ограничить его сохранением только чисел в определенном диапазоне, например, 0,0-5,0? В противном случае, есть ли способ ограничить PositiveIntegerField, …

8
Как выразить отношения «один ко многим» в Джанго
Я определяю свои модели Django прямо сейчас, и я понял, что OneToManyFieldв типовых полях модели не было. Я уверен, что есть способ сделать это, поэтому я не уверен, что мне не хватает. По сути, у меня есть что-то вроде этого: class Dude(models.Model): numbers = models.OneToManyField('PhoneNumber') class PhoneNumber(models.Model): number = models.CharField() …


5
Как «массовое обновление» с Django?
Я хотел бы обновить таблицу с помощью Django - что-то вроде этого в сыром SQL: update tbl_name set name = 'foo' where name = 'bar' Мой первый результат примерно такой - но это противно, не так ли? list = ModelClass.objects.filter(name = 'bar') for obj in list: obj.name = 'foo' obj.save() …

3
Поля динамической модели Джанго
Я работаю над многопользовательским приложением, в котором некоторые пользователи могут определять свои собственные поля данных (через администратора), чтобы собирать дополнительные данные в формах и сообщать о них. Последний бит делает JSONField не лучшим вариантом, поэтому вместо этого у меня есть следующее решение: class CustomDataField(models.Model): """ Abstract specification for arbitrary data …

4
В Django, как можно фильтровать QuerySet с динамическими поисками полей?
Учитывая класс: from django.db import models class Person(models.Model): name = models.CharField(max_length=20) Возможно ли, и если да, то как, иметь QuerySet, который фильтрует на основе динамических аргументов? Например: # Instead of: Person.objects.filter(name__startswith='B') # ... and: Person.objects.filter(name__endswith='B') # ... is there some way, given: filter_by = '{0}__{1}'.format('name', 'startswith') filter_value = 'B' # …

4
Перезагрузить объект django из базы данных
Можно ли обновить состояние объекта django из базы данных? Я имею в виду поведение примерно эквивалентно: new_self = self.__class__.objects.get(pk=self.pk) for each field of the record: setattr(self, field, getattr(new_self, field)) ОБНОВЛЕНИЕ: обнаружен переоткрытый / wontfix войны в трекере: http://code.djangoproject.com/ticket/901 . До сих пор не понимаю, почему сопровождающим это не нравится.


2
Автоматическая дата создания для объектов формы модели Django?
Каков наилучший способ автоматически установить дату создания объекта, а также поле, которое будет записывать время последнего обновления объекта? models.py: created_at = models.DateTimeField(False, True, editable=False) updated_at = models.DateTimeField(True, True, editable=False) views.py: if request.method == 'POST': form = MyForm(request.POST) if form.is_valid(): obj = form.save(commit=False) obj.user = request.user obj.save() return HttpResponseRedirect('obj_list') Я получаю …

12
Каков наиболее эффективный способ хранения списка в моделях Django?
В настоящее время в моем коде много объектов Python, похожих на следующие: class MyClass(): def __init__(self, name, friends): self.myName = name self.myFriends = [str(x) for x in friends] Теперь я хочу превратить это в модель Django, где self.myName - это строковое поле, а self.myFriends - это список строк. from django.db …

6
Почему django model.save () не вызывает full_clean ()?
Мне просто любопытно, если кто-нибудь знает, есть ли веская причина, почему в django orm не вызывает 'full_clean' на модели, если она не сохраняется как часть формы модели. Обратите внимание, что full_clean () не будет вызываться автоматически при вызове метода save () вашей модели. Вам нужно будет вызывать его вручную, если …

9
Данные дампа Django для одной модели?
Могу ли я выполнить dumpdataв Django только одну модель, а не все приложение, и если да, то как? Для приложения это будет: python manage.py dumpdata myapp Однако я хочу, чтобы какая-то конкретная модель, например myapp.mymodel, была выгружена. Причина в том, что у меня есть несколько огромных, 3 миллиона записей плюс …

13
Фильтр Django против get для одного объекта?
Я спорил об этом с некоторыми коллегами. Есть ли предпочтительный способ получения объекта в Django, когда вы ожидаете только один? Два очевидных способа: try: obj = MyModel.objects.get(id=1) except MyModel.DoesNotExist: # We have no object! Do something... pass И: objs = MyModel.objects.filter(id=1) if len(objs) == 1: obj = objs[0] else: # …

3
Django values_list против значений
В Django, в чем разница между следующими двумя: Article.objects.values_list('comment_id', flat=True).distinct() против Article.objects.values('comment_id').distinct() Моя цель - получить список уникальных идентификаторов комментариев под каждым Article. Я прочитал документацию (и фактически использовал оба подхода). Результаты явно кажутся похожими.

6
Как создать объект для модели Django с полем многие ко многим?
Моя модель: class Sample(models.Model): users = models.ManyToManyField(User) Я хочу сохранить и то, user1и другое user2в этой модели: user1 = User.objects.get(pk=1) user2 = User.objects.get(pk=2) sample_object = Sample(users=user1, users=user2) sample_object.save() Я знаю, что это неправильно, но уверен, что ты понимаешь то, что я хочу делать. Как бы ты это сделал?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.