title: Django REST - Create object with foreign key using serializers
body: <p>I'm a little new to Django and Django-REST so please bear with me. Perhaps the answer is in the documentation, so if I missed it, apologies in advance.</p>
  
  <p><strong>Goal:</strong> I would like to create an EquipmentInfo object whose attributes include pre-existing foreign keys (EquipmentType and EquipmentManufacturer).</p>
  
  <p>models.py</p>
  
  <pre><code>class EquipmentType(models.Model):
      equipment_type = models.CharField(verbose_name="Equipment Type", max_length=50, unique=True)
  
      def __unicode__(self):
          return self.equipment_type
  
  
  class EquipmentManufacturer(models.Model):
  
      manufacturer_name = models.CharField(verbose_name="Manufacturer Name", max_length=50, unique=True)
  
      def __unicode__(self):
          return self.manufacturer_name
  
  
  class EquipmentInfo(models.Model):
  
      equipment_type = models.ForeignKey(EquipmentType, verbose_name="Equipment Type")
      part_identifier = models.CharField(verbose_name="Machine ID (alias)", max_length=25)
      manufacturer_name = models.ForeignKey(EquipmentManufacturer, verbose_name="Manufacturer Name")
      serial_number = models.CharField(verbose_name="Serial Number", max_length=25)
      date_of_manufacture = models.DateField(verbose_name="Date of Manufacture", default=date.today)
      is_active = models.BooleanField(verbose_name="Is Active", default=True)
  
      def __unicode__(self):
          return self.part_identifier
  </code></pre>
  
  <p>serializers.py</p>
  
  <pre><code>class EquipmentTypeSerializer(serializers.ModelSerializer):
      class Meta:
          model = EquipmentType
          fields = ('id', 'equipment_type',)
  
  class EquipmentManufacturerSerializer(serializers.ModelSerializer):
      class Meta:
          model = EquipmentManufacturer
          fields = ('id', 'manufacturer_name',)
  
  class EquipmentInfoSerializer(serializers.ModelSerializer):
      class Meta:
          model = EquipmentInfo
          fields = ('id', 'equipment_type', 'part_identifier', 'manufacturer_name','serial_number', 'date_of_manufacture', 'is_active')
  
      equipment_type = EquipmentTypeSerializer(many=False)
      manufacturer_name = EquipmentManufacturerSerializer(many=False)
  
      def create(self, validated_data):
          equipment_type = validated_data.pop('equipment_type')
          manufacturer_name = validated_data.pop('manufacturer_name')
          equipment_info = EquipmentInfo.objects.create(**validated_data)
          return equipment_info
  </code></pre>
  
  <p>Assuming I already have relevant EquipmentType and EquipmentManufacturer objects created, I would like to add another EquipmentInfo object. What is the appropriate way to set up my EquipmentInfo serializer so that I can pass in information such as </p>
  
  <pre><code>{
   "equipment_type":{
    "equipment_type":"already_created",
   },
   "part_identifier":"something_new",
   "manufacturer_name":{
    "manufacturer_name":"already_created"
   },
   "serial_number":"WBA1",
   "date_of_manufacture": "1900-01-01",
   "is_active":true
  }
  </code></pre>
  
  <p>or even better:</p>
  
  <pre><code>{
   "equipment_type":"already_created",
   "part_identifier":"something_new",
   "manufacturer_name":"already_created",
   "serial_number":"WBA1",
   "date_of_manufacture": "1900-01-01",
   "is_active":true
  }
  </code></pre>
  
  <p>Any help is appreciated.</p>