Я использую 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 вместо нуля в этом случае?
Спасибо за ваш ответ.