title: ImportError: cannot import name 'Flow' from partially initialized module 'firstapp.models.flows' (most likely due to a circular import), how to design
body: <p>I have a problem, probably in my design.
  In my Django project I have a 'Flow' object with 'event_reason' field in it, Foreign key to 'Event' object, therefore I need to import Event object, (otherwise I get the error: <code>Cannot create form field for 'event_reason' yet, because its related model 'Event' has not been loaded yet</code>). Therefore my code of my models is (in models/flows.py)</p>
  <pre><code>from .events import Event
  class Flow(models.Model): 
      amount = models.DecimalField(max_digits=17, decimal_places=2, default=0.0)  
      flow_type = models.IntegerField(default=-1, choices=FLOW_CHOICES)          
      ...
      event_reason = models.ForeignKey('Event', on_delete=models.DO_NOTHING, default=None, related_name='events_flow',blank=True, null=True)
  
  class FlowForm(ModelForm):
      class Meta:
          model = Flow
          fields = '__all__'
  </code></pre>
  <p>In addition I have 'amount' and 'flow_type' fields in the 'Flow' objects and I want that the 'post_save' signal will save a new Flow associated to this Event. Therefore the Event model code is (in models/events.py):</p>
  <pre><code>from .flows import Flow
  class Event(models.Model):
      ...
      amount = models.IntegerField(default=0)
      flow_type = models.IntegerField(default=-1, choices=FLOW_CHOICES)
      
  @receiver(post_save, sender=Event)
  def my_handler(sender, **kwargs):
      new_flow = Flow.objects.create(...)
  </code></pre>
  <p>And I get the error <code>ImportError: cannot import name 'Flow' from partially initialized module 'firstapp.models.flows' (most likely due to a circular import)</code></p>
  <p>I understand that I cannot my a circular import but I want this functionality to work. How to solve this problem? Should I design the objects otherwise?
  Thank you</p>