I've had the same issues. A previous developer used TastyPy for APIs and it's a 
nightmare trying to modify them beyond the simple, out-of-the-box 
functionality. In its current state, it's more trouble than it's worth.

--

Kurt Pruhs
Utah State University
Information Technology Department
Programming and Design Team
office: 435.797.9260
cell: 435.890.0289

From: "Cal Leeming [Simplicity Media Ltd]" 
<cal.leem...@simplicitymedialtd.co.uk<mailto:cal.leem...@simplicitymedialtd.co.uk>>
Reply-To: "django-users@googlegroups.com<mailto:django-users@googlegroups.com>" 
<django-users@googlegroups.com<mailto:django-users@googlegroups.com>>
Date: Wednesday, September 12, 2012 6:27 AM
To: "django-users@googlegroups.com<mailto:django-users@googlegroups.com>" 
<django-users@googlegroups.com<mailto:django-users@googlegroups.com>>
Subject: tastypie - some feedback / comments

Hi all,

For the last two years whenever an API has been required for a project, we have 
just used our own API wrapper that consists of about 50 lines, then added in 
the bits we needed as we go along.

So today, I decided to spread my wings a little and give TastyPie a try... here 
is a bit of feedback for anyone considering TastyPie;

It works quite nicely out of the box, ties directly into the Django user 
models, has fairly good URL path structures, and within 30 minutes you can have 
it spitting out data from your models with as much control as you wish.

However, like the django-admin system, this is where the fun ends. As soon as 
you want to do anything bespoke or actions that involve not fetching data 
(whether it be ORM or not), things start to get touchy. Attempting to get 
tastypie to work without a queryset/qs is damn near impossible, the uglyness of 
override_urls/prepend_urls() alone was enough to make me say "eww", and the 
general feel was overly complex.

In theory tastypie is perfect, but in practise it seems to overcomplicate 
things in an attempt to keep everything organized, and to quote a colleague "it 
has a bit too much magic". Sure, it claims to give you plenty of control to 
customize it for your specific use case, but the complexity of this makes 
actual time and sanity saved debatable.

This isn't to say that tastypie should be avoided, as it will work beautifully 
for simple requirements, but I personally feel that it should be kept in the 
same box as django-admin. It's also worth mentioning that (imo) anyone thinking 
about tastypie should still give it a try and see how they feel about it. It'd 
be interesting to hear other thoughts on it.

There are obviously some others to compare this against, the most notable being 
piston and Django REST framework. Although there's some bad press about piston 
(and I haven't tried it myself), it would probably be next in my list to try. 
Unlike tastypie, it treats resources as completely arbitrary objects and lets 
you create the magic for yourself.. so although it doesn't work out of the box 
quite as easily, it offers so much more benefits in the long run.

Any thoughts?

Cal

--
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to 
django-users@googlegroups.com<mailto:django-users@googlegroups.com>.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com<mailto:django-users+unsubscr...@googlegroups.com>.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to