The recommended approach (and the reason for autodiscover()) is to put
the admin classes and registration into admin.py. Your models.py files
are imported more than once, which is leading to the duplicate
registration error (which is a real error in other situations, which is
why it exists).
Putting things in admin.py is a way to make sure they're only registered
once.
Regards,
Malcolm