title: How can I pass properties into a Backbone.Model which I do not wish to be treated as attributes?
body: <p>I have a Backbone.Model named <code>Company</code>.
  My <code>Company</code> model has an <code>Employees</code> Backbone.Collection containing <code>Employee</code> models.</p>
  
  <p>When I instantiate my <code>Employee</code> models to populate the <code>Employees</code> collection I wish for them to have a reference to the <code>Company</code> they belong to.  But when I pass <code>Company</code> in it becomes one of the attributes of <code>Employee</code>.  This is an issue when I go to save the <code>Employee</code> because the <code>toJSON</code> method will contain a <code>Company</code> object, when in the database all I store is the foreign key integer <code>company_id</code>.</p>
  
  <p>I wish there was a second parameter for Backbone.Model that accepted model properties that are not part of the core attributes.  How can I get around this?  I realize I could instantiate my <code>Employee</code> models and afterwards attach the <code>Company</code>, but I really want to do all the assignments in a traditional "constructor" rather than attach properties from outside.</p>
  
  <p>e.g.:</p>
  
  <pre><code>Employee = Backbone.Model.extend({});
  
  Employees = Backbone.Collection.extend({
    model: Employee
  });
  
  Company = Backbone.Model.extend({
    initialize: function() {
      this.employees = new Employees({});
    }
  });
  
  c1 = new Company({id: 1});
  e = new Employee({name: 'Joe', company_id: 1, company: c1});
  c1.employees.add(e);
  
  e.get('company'); // =&gt; c1
  
  e.save(); // BAD -- attempts to save the 'company' attribute, when in reality I only want to save name and company_id
  
  
  //I could do
  c2 = new Company({id: 2});
  e2 = new Employee({name: 'Jane', company_id: 2});
  e2.company = c2;
  c2.employees.add(e);
  
  e.company; // =&gt; c2
  
  //I don't like this second method because the company property is set externally and I'd have to know it was being set everywhere in the code since the Employee model does not have any way to guarantee it exists
  </code></pre>