[BangPypers] How to model these entities?

Arun Ravindran arunvr at gmail.com
Thu Mar 26 07:03:56 CET 2015


Hi Abhaya,

I believe you are on the right track. While I am not a big fan of
singletons (you could use pass the object to each function explicitly), the
rest of the design seems sound. You could model your architecture as model
classes in Django in a straightforward way.

In my opinion, the major aspect that you are not considering is -
multi-tenancy. While SaaS might sound like a buzzword, it addresses some
very important pain points. Does your application guarantee that the client
confidential information of one client is completely isolated from another
client in the case of a breach? Does your application allow client specific
schema changes in the future? If you think these questions are relevant to
you then you might want to check out Django tenant schemas
<https://django-tenant-schemas.readthedocs.org/en/latest/>.

Good luck!

Regards,
Arun

On Wed, Mar 25, 2015 at 7:02 PM, Abhaya Agarwal <abhaya.agarwal at gmail.com>
wrote:

> Hi,
>
> I need to model four entities that share some attributes and behaviors and
> also have some unique attributes and behaviors. I need to be able to refer
> to them from other entities. And these entities are Singletons.
>
> Ex: online marketplaces. They share common attributes like website, contact
> person, commission rates which are best stored in DB. But they differ in
> how you upload data to them - one of them supports FTP, other Dropbox -
> best modeled as implementation of an interface. There may be unique data
> associated with these behaviors. FTP credentials, Dropbox credentials.
>
> Also a product may need to refer to these marketplaces (Ex: where all is it
> going to be listed), so they need to be enumerable.
>
> I have considered class hierarchy + a central registry + on disk config
> files. But since this is a part of a larger Django project, implementing it
> like this kind of sticks out and integrating it with admin etc requires lot
> more work. What are the other options to model something like this? I feel
> like I'm missing something obvious.
>
> Thanks a lot!
>
> Regards,
> Abhaya
>
> --
> -------------------------------------------------
> blog: http://abhaga.blogspot.com
> Twitter: http://twitter.com/abhaga
> -------------------------------------------------
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> https://mail.python.org/mailman/listinfo/bangpypers
>


More information about the BangPypers mailing list