So the first thing you want to do is re-think your models in terms of a relational database.
What this (in general) is going to look like:
Model Collection
collection_name
created_by
users = ManyToMany(User, through=UserCollection)
Model Item
collection = ForeignKey(Collection)
Note: This is assuming each item only belongs to one collection.
If an individual item can belong to multiple collections, then it's a
ManyToMany relationship
Model UserCollection
collection = ForeignKey(Collection, ...)
user = ForeignKey(User, ...)
role
Then, for each view, you will implement a security check for that view to ensure than the person making the request has the necessary permissions for that view.
See Using the Django authentication system | Django documentation | Django (The whole page - there’s a lot of information in there.)