Size: a a a

Django [ru] #STAY HOME

2019 January 25

А

Алексей in Django [ru] #STAY HOME
Nazar
c ModelViewSet всё норм
от сериалайзера .data возьми
источник

А

Алексей in Django [ru] #STAY HOME
Nazar
Привет, почему если закидывать queryset в serializer, то он выдаёт ошибку, что нужен словарь

а когда преобразовываешь в словарь, то выдаёт ерунду?


class CityView(APIView):
...
def get(self, request):
q = City.objects.all()
s = CitySerializer(data=q)
print(q)
print(s)
if s.is_valid():
       return response.Response(data=s.data, status=status.HTTP_200_OK)
else:
    return response.Response()
>>>
<QuerySet [<City: City object (1)>]>

CitySerializer(data=<QuerySet [<City: City object (1)>]>):
   id = IntegerField(read_only=True)
   city = CharField(read_only=True)
   description = CharField(read_only=True)
   date_registered = DateTimeField(read_only=True)
s = CitySerializer(q).data
источник

N

Nazar in Django [ru] #STAY HOME
пишет, сначала проверь сериализованные данные на валидность, а потом уже делай чо хочешь

When a serializer is passed a `data` keyword argument you must call `.is_valid()` before attempting to access the serialized `.data` representation.
You should either call `.is_valid()` first, or access `.initial_data` instead.


————-

сделал так
return response.Response(data=s.data,
                                    status=status.HTTP_200_OK)



теперь ничего не возвращает

City object (1) нужно отдельно парсить?

CitySerializer, если что, HyperLinkedModelSerializer
источник

N

Nazar in Django [ru] #STAY HOME
С initial_data то же самое

Renderer и parser classes в settings.py влияют на это?
источник

А

Алексей in Django [ru] #STAY HOME
Nazar
С initial_data то же самое

Renderer и parser classes в settings.py влияют на это?
many=True попробуй дописать в скобках сериалайзера
источник

Z

ZHU in Django [ru] #STAY HOME
[{"id": 43, "school": 2, "edition": {}, "on_hands": 345, "in_warehouse": 45}]
источник

Z

ZHU in Django [ru] #STAY HOME
все нашел баг
источник

S

Senpos in Django [ru] #STAY HOME
У вас тут бот был, который о релизах на ГХ рассказывал, поделитесь ссылкой на сорцы, пожалуйста)
источник

И

Игорь in Django [ru] #STAY HOME
Вопрос:

При перезагрузке сервера апач2 выплевывалась следующая ошибка:
File "/usr/local/lib/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 337: ordinal not in range(128)


Суть такая. При старте сервера в память сразу закачиваются в скрипте несколько файлов с большими sql запросами, что бы потом из исппользовать в скриптах.

Код загрузки следующий:
with open(sql) as data:

           sql_string = data.read()


Ошибка исчезает, если исправить код на
with open(sql, encoding='utf-8') as data:

           sql_string = data.read()


Машина Debian 9

Кто скажет почему это происходит?
При этом разработочный сервер Джанго стартует нормально
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
ребят подскажите плиз в доке написано:
class MyUUIDModel(models.Model):
   id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
а у меня сгенерировался один и тот же uuid, в чем проблема?
источник

А

Алексей in Django [ru] #STAY HOME
Bulatbulat48
ребят подскажите плиз в доке написано:
class MyUUIDModel(models.Model):
   id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
это ты чё делаешь? зачем поле id трогаешь?
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
Алексей
это ты чё делаешь? зачем поле id трогаешь?
это дока, я добавляю вот так uuid = models.UUIDField(db_index=True,
                           default=uuid_lib.uuid4,
                           editable=False)
источник

А

Алексей in Django [ru] #STAY HOME
Bulatbulat48
это дока, я добавляю вот так uuid = models.UUIDField(db_index=True,
                           default=uuid_lib.uuid4,
                           editable=False)
я не знаю, что ты конкретно делаешь, но у меня вот пример рабочий:
import uuid
...
# UserProfile class for user uuid
class UserProfile(models.Model):
   user = models.ForeignKey(User, verbose_name='Заказчик', null=True, blank=True, on_delete=models.CASCADE)
   uuid = models.UUIDField('Unique Verification UUID', default=uuid.uuid4)
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
у меня в базе заполнился uuid как одно и тоже поле
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
я предполагаю что он должен быть разный
источник

А

Алексей in Django [ru] #STAY HOME
да, должен быть разный, uuid.uuid4() генерит рандом же
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
а у меня одинаковый
источник

B

Bulatbulat48 in Django [ru] #STAY HOME
источник

А

Алексей in Django [ru] #STAY HOME
Bulatbulat48
это дока, я добавляю вот так uuid = models.UUIDField(db_index=True,
                           default=uuid_lib.uuid4,
                           editable=False)
а если именно uuid.uuid4, а не как у тебя uuid_lib.uuid4?
источник