Adam Gilly
Adam Gilly

Reputation: 49

Is there any way to disable "idProperty" of Model in Extjs?

I have a simple Model/proxy. When I create a object of model to send to server via REST, ExtJs is generating Id and putting its value in my "id" field and that is conflicting with my data. Is there any way to stop this behavior or to solve this issue?
I have read idProperty Sencha Docs but I am not able to solve my issue. Kindly Help.

Upvotes: 2

Views: 3116

Answers (3)

Abdul Rehman Yawar Khan
Abdul Rehman Yawar Khan

Reputation: 1087

I ran into same problem and using ajokn answer I did this.

Ext.define('ThemeApp.model.peopleModel', {
    extend: 'Ext.data.Model',

    fields: [ 
        {name: 'id', type: 'int', persist: false},
        {name: 'xyz', type: 'auto'}
    ]
}

I didn't set the idProperty : 'login' cause its default value is 'id', so simply set persist: false for id property in your model.

Upvotes: 3

ajokn
ajokn

Reputation: 131

Set config options: persist: false.

Ext.define('User', {
    extend: 'Ext.data.Model',
    idProperty : 'login'
    fields: [
        {name: 'login', type: 'string', persist: false},
        {name: 'username', type: 'string'},
        {name: 'password', type: 'string'}
    ]
});

Upvotes: 6

Simon Hoss
Simon Hoss

Reputation: 562

Set the idProperty to a non existing field. Its dirty I know, but this should do it.

Ext.define('User', {
    extend: 'Ext.data.Model',
    idProperty : 'foo'
});

Upvotes: 1

Related Questions