Just to add to Erik's very good advice on (not) using EAV, another thing to 
keep in mind is that the downsides of EAV tend to manifest after your app is 
hosting a substantial amount of data, at which point the exercise of sanitizing 
it in order to port it to a saner model can be *excruciating*. 

I've come in to projects like this as a consultant and the golden rule of any 
such contract is "no cap on data conversion fees, but please feel free to do it 
yourself once you realize how much it will cost to preserve that data."

More generally, when using a relational database, you want to think hard about 
temptations to store things in generic buckets. There is a data store optimized 
for generic buckets of bits; it is called a file system. Rdbmses, not being 
designed for that, tend to become expensive[1] when forced to act like it. 

-j

[1] not necessarily in currency, but that can certainly happen as well. 

-- 
Sent from a phone, please excuse typos and terseness.

> On Dec 15, 2014, at 5:42 AM, Felipe Faraggi <felipefara...@gmail.com> wrote:
> 
> Hello everybody.
> 
> I am very new to django and I come from a wordpress background (yes, yes I 
> know) and I really like their wp_*meta model. 
> 
> After a little digging I discovered this is called the Entity-attribute-value 
> model or EAV. And I am currently setting up a project in django in which my 
> data is very variable because we will be opening up to many APIs and they all 
> have their own table styles. So instead of having a rigid model, we've opted 
> for having a EAV model to stock everything with its own key-value pair.
> 
> So I would like to hear your general thoughts about this method (I've heard 
> some good/bad things about it) and your specific experiences with it and 
> django (if any).
> 
> I found this repository https://github.com/mvpdev/django-eav that I could use 
> as reference.
> 
> Thanks!
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/f0c8def8-d577-4f37-8e67-17fdae896219%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/8E200CEC-D492-4507-A927-681C92BE05C7%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to