ФорумПрограммированиеPythonDjango → Tastypie и ForeignKey, мудохаться на клиенте или на сервере?

Tastypie и ForeignKey, мудохаться на клиенте или на сервере?

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 13:59

    Итак, пусть у нас есть тестипайный ресурс с foreignkey

    
    class MyResource(ModelResource):
        fk = ForeignKey(MyFkResource, 'fk', full=False)
    

    Мы можем передавать full=False или full=True в зависимости от этого в ответе получаем

    
    objects": [{  
        "fk": "/api/fk/идишник",  
    

    или

    
    objects": [{  
        "fk": {  
            "id": идишник,  
            Все блядь остальные поля, resource_uri и прочее, прочеее  
    

    Допустим я хочу изменить значение FK в модели на клиете и сохранить ресурс. Фигня в том, что с первом случаем работать джаваскриптом с этим неудобно т.к. получил строку, приходится выцеплять идишник, заменять его итд. А вот втором случае, я имею оверхед, получаю дофига всего лишнего плюс, кода меняю что-то внутри дочернего объекта и сохраняю, переписывается не только родительска модель, но и связанная.

    В итоге вижу два пути. Накатать простенькую JS библиотеку, которая будет работать с этими тастипаевскими строками - уметь менять в них идишник как минимум. Или допилить тастипай, чтоб он умел возвращать нечто среднее:
    "fk": {"id": идишник}
    без всей лишней хуйни. Что думаете?

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 17:17, спустя 3 часа 17 минут 40 секунд

    @alexb, Я за второй вариант, т.к. это менее @kostyl. )

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 20 апреля 2015 г. 18:18, спустя 1 час 1 минуту 30 секунд

    Я за второй вариант, т.к. это менее @kostyl. )

    @adw0rd, мне кстати не пришло это упоминание еще, это я так в непрочитанные зашел и увидел

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 18:51, спустя 33 минуты 9 секунд

    Может из-за точки в конце?

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 19:01, спустя 9 минут 58 секунд

    мне тоже последний раз не пришло. может из-за регистра?

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 19:12, спустя 10 минут 29 секунд

    мне тоже последний раз не пришло. может из-за регистра?

    @Sinkler, fixed

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 19:15, спустя 3 минуты 15 секунд

    @AdW0rD спасибо)

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 19:17, спустя 2 минуты

    @AdW0rD спасибо)

    @Sinkler, работает)

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 20 апреля 2015 г. 21:37, спустя 2 часа 19 минут 57 секунд

    вот это баг. ну как так можно

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!