Что произошло с асинхронными компьютерными микросхемами?

1117 Есть много вещей, которые вы не совсем поняли. Во-первых, аутентификация. Пожалуйста, ознакомьтесь с DRF-JWT или подобными библиотеками и используйте их классы аутентификации или, по крайней мере, посмотрите, как создать ваши, чтобы ваша аутентификация не была засорена по всему коду.

Что касается perform_create, по вашему мнению, вам не нужно проверять serializer.is_valid() там. Это уже проверено в create до вызова perform_create. И этот метод не предназначен для возврата ответа API, насколько я знаю. Он просто предназначен для выполнения каких-либо дополнительных действий, которые вы хотите, перед вызовом serializer.save(). Для большинства основных применений оно никогда не переопределяется. Вы также можете передать своего пользователя и дату в метод сохранения или сделать это в сериализаторе.

Теперь в методе создания сериализатора вам не требуется доступ initial_data. Все, что вам нужно, должно быть в validated_data. Во-первых, вы должны вытолкнуть puppies из validated_data до вызова objects.create, иначе он не сможет с этим справиться. Теперь вы можете создавать объекты PuppyOrder, используя более ранних щенков.

Вот как вы добавляете дополнительные данные к validated_data сериализатора в представлении execute_create:

serializer.save(date=datetime.today(), user=self.request.user, total_price=total_price)

Вы можете сделать то же самое в методе создания сериализатора, просто добавив элементы непосредственно в проверенные данные. Это всего лишь обычный словарь:

validated_data['user'] = self.context['request'].user
validated_data['date'] = datetime.today()
validated_data['total_price'] = total_price

РЕДАКТИРОВАТЬ: Использование не модельного сериализатора для PuppyOrder

Поскольку порядок и PuppyOrder еще не созданы в то время, когда при отправке запроса следующая строка в OrderSerializer приведет к ошибке, поскольку сериализатор ожидает фактические PuppyOrders

puppies = PuppyOrderSerializer(source='puppyorder_set', many=True)

Вместо этого вы можете использовать не модельный сериализатор, подобный этому (при условии, что щенок уже существует): [ 1124]

class PuppyOrderCreateSerializer(serializers.Serializer):
    puppy = serializers.PrimaryKeyRelatedField(queryset=Puppy.objects.all())
    amount = serializers.IntegerField()

Затем вы можете использовать этот сериализатор в yuur OrderSerializer:

puppies_data = PuppyOrderCreateSerializer(many=True)

71
задан 6 revs, 6 users 53% 27 February 2017 в 11:11
поделиться

2 ответа

Вот статья от несколько лет назад , это фанатично на технологии, но я думаю, что ответ может быть найден в этой кавычке:

Да ведь например, Intel фрагментировал свою асинхронную микросхему? Ответ то, что, хотя микросхема работала в три раза более быстро и использовала половину электроэнергии, чем синхронизированные дубликаты, который не был действительно улучшением для выравнивания по ширине сдвига к радикальной технологии. Асинхронная микросхема в лаборатории могла бы быть годами перед любым синхронным дизайном, но дизайн, тестируя и производственные системы, которые поддерживают стандартное производство микропроцессора все еще, имеют о 20-летнем преимуществе на чем-либо, что поддерживает асинхронное производство. Любой планирующий разработать асинхронную микросхему должен будет найти способ закоротить тот вывод.

, "Если Вы получаете три раза питание, идущее с асинхронным дизайном, но оно берет Вас в пять раз более длинный для получения до market— хорошо, Вы проигрываете", говорит старший научный сотрудник Intel Ken Stevens, который работал над асинхронным проектом 1997 года. "Недостаточно быть провидцем или сказать, насколько большой эта технология. Все это возвращается к тому, можно ли сделать его достаточно быстро, и дешево достаточно, и можно ли продолжать делать его год за годом".

68
ответ дан Mark Ransom 24 November 2019 в 13:07
поделиться

Существует некоторая информация об этом предмете availableboth здесь Асинхронный ЦП и здесь История центральных процессоров общего назначения , включая список (некоторые не так) недавние реализации.

Рассмотрение некоторых преимуществ (потребляемая мощность, скорость) и недостатки (увеличенная сложность, более трудная разработать), кажется логичным, что в последние годы разработка, кажется, сфокусировалась на встроенных проектах:

  • Epson ACT11
  • SEAforthВ® 40C18
10
ответ дан Tim 24 November 2019 в 13:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: