I am a beginner Django user and have been stuck with this problem for weeks now.
Consider the following model
class Post(models.Model):
    title = models.CharField(max_length=65)
    author = models.ForeignKey(User)
    date = models.DateField(auto_now_add=True)
    content = models.TextField()
    tags = models.ManyToManyField(Tag)
    images = models.ManyToManyField(Image)
def __unicode__(self):
    return self.title
I would like the User to be able to upload pictures to the with his model. I would like to be able to validate if
- The user has at least uploaded one image and limit the maximum number of images to a certain number. 
- Basically do the same for tags. But with tags I would also like Django to check if the tags already exists and if so add it to the model. 
- Let the user push a button that says add Tag / add Image to make a new field pop up. 
Problems I have encountered so far.
- I am required to save a model before I can add many to many relations. This is a bit annoying because if an error occurs halfway down the road is might be possible that half the model is saved and the other is invalid. 
- I know that I can add extra field to the DOM using js however I got no clue how to process those in the View function. 
 
     
    