Нулевое значение для неустановленной модели с магистральным-реляционным - PullRequest
0 голосов
/ 07 мая 2019

Я использую Backbone-реляционный с Backbone-реляционный-jsonapi для расширения методов разбора. Версии:

  • Backbone -lational.js 0.10.0
  • Магистраль 1.4.0
  • Подчеркнуть 1.9.1

Сервер представляет собой пользовательскую реализацию flask-rest-jsonapi (из-за некоторых проблем с производительностью отношения не загружаются, просто заполните ссылки)

Но когда я получаю свою модель, у меня в ключе атрибутов появляется ноль (вместо "не загруженной" / "несинхронизированной" модели)

Я уже пытался расширить синтаксический анализ, чтобы установить мою модель в моих данных, чтобы увидеть, может ли она работать, но как только я получаю эту модель, она становится нулевой. Я попробовал с ключом HasMany (см. ContactMail), и все работает хорошо. То же самое с включенным "сотрудник"

Вот мои модели:

models = {}
models.ContactModel = Backbone.RelationalModel.extend({
        defaults: {
           type: 'contact',
            },
        idAttribute: 'id',
        relations: [
        {
            type: 'HasMany',
            relatedModel: models.ContactMailModel,
            collectionType: models.ContactMailCollection,
            key: 'LesMails'
        },
        {
            type: 'HasOne',
            relatedModel: models.CollaborateurModel,
            key: 'collaborateur'
        }],
        default_endpoint: 'contact',
        endpoints: ['contact', 'all_contact']
        });
    Backbone.modelFactory.registerModel(models.ContactModel);

    models.CollaborateurAdresseModel.prototype.relations = [
        {
            type: 'HasOne',
            relatedModel: models.CollaborateurModel,
            key: 'collaborateur'
        }];
    Backbone.modelFactory.registerModel(models.CollaborateurAdresseModel);

А вот мои данные (возврат с сервера jsonapi): GET: / api / contact / 2000004

{
    "data": {
        "type": "contact",
        "attributes": {
            "id": 2000004,
            "IdCollaborateur": 500004
            },
        "relationships": {
            "collaborateur": {
                "links": {
                    "self": "/api/contact/2000004/relationships/collaborateur",
                    "related": "/api/contact/2000004/collaborateur"
                    }
                }
            },
        "jsonapi": {"version": "1.0"}
}

my_contact = new ContactModel({id: 2000004})
my_contact.fetch().done(function(){
    my_contact.get('collaborateur').fetch()
};

Как получить CollaborateurModel вместо нуля в этом случае?

Спасибо за ваш ответ.

...