title: django models-design: "ptr field is required"
body: <p>I'm using Python 3.6+PostgreSQL 10+latest Django and DjangoRestFRamework. I have the following models, in which several models inherit from a class which is the ForeignKey (One-to-Many) of another class.</p>
  
  <pre><code>class Voteable(models.Model):
        Voteable_id = models.BigAutoField(primary_key=True);
  
  class base(Voteable):
      class Meta:
          abstract = False
  
  class traslated_info(models.Model):
      info_about=models.ForeignKey(base)
      info_body=models.TextField()
      info_language=models.CharField(max_length=2)
  
  class A(base):
      A_id=models.BigAutoField(primary_key=True)
      A_field=models.TextField()
  
  class B(base):
      B_id=models.BigAutoField(primary_key=True)
      B_field=models.TextField()
      B_belongs_to=models.ForeignKey(A)
  
  class C(base):
      C_id=models.BigAutoField(primary_key=True)
      C_field=models.TextField()
      C_belongs_to=models.ForeignKey(A)
      C_belongs_to=models.ForeignKey(B)
  </code></pre>
  
  <p>Whenever I try saving an object A (via curl), django says that base_ptr is required. I don't know how to model this situation. The end user is not expected to create item base and then item A, B or C. I tried class base as abstract, but an abstract class can't be ForeignKey. I want to automatically create a base class whenever a class A is created.</p>
  
  <p>I think I have two options: A) Remove the ForeignKey and store the language-specific info fields as HStoreField. This makes the code somewhate dependent on Postgree. B) Create some sort of routine that automatically creates parent <strong>base item</strong> whenever a child <strong>A item</strong> is created (preserving the one to one relationship).</p>
  
  <p>What do you recommend? Is there some django easy option I'm missing to make option B? I have not found this. Thank you.</p>