Busy making things: tinycast, github, links, photos, @mc.

Migrating Your App to Django

Posted: August 5th, 2005 | Author: | Filed under: Django, Python | 99 Comments »

A few days ago I mentioned Changeset 384 which included a new command, django-admin.py inspectdb <dbname>. It has also been tweaked and improved since it was initially committed. The other day I tried it out on a simple database structure, but I decided to throw a more complex example at it.

I decided to take the final depot application from the excellent Agile Web Development with Rails book. Beta books rule by the way. I executed the SQL in rails-code/depot_final/db/create.sql from the the code tarball to set up the database structure. I then created a new project with django-admin startproject and edited settings/main.py to tell Django how to log in to my mysql database. After exporting the correct DJANGO_SETTINGS_MODULE I ran django-admin.py inspectdb depot_rails which gave me the following model:

# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
#     * Rearrange models' order
#     * Add primary_key=True to one field in each model.
# Feel free to rename the models, but don't rename 
# db_table values or field names.
#
# Also note: You'll have to insert the output of 
# 'django-admin.py sqlinitialdata [appname]'
# into your database.

from django.core import meta

class LineItem(meta.Model):
    db_table = 'line_items'
    fields = (
        meta.IntegerField('id'),
        meta.IntegerField('product_id'),
        meta.IntegerField('order_id'),
        meta.IntegerField('quantity'),
        meta.FloatField('unit_price'),
    )

class Order(meta.Model):
    db_table = 'orders'
    fields = (
        meta.IntegerField('id'),
        meta.CharField('name', maxlength=100),
        meta.CharField('email', maxlength=255),
        meta.TextField('address'),
        meta.CharField('pay_type', maxlength=10),
        meta.DateTimeField('shipped_at'),
    )

class Product(meta.Model):
    db_table = 'products'
    fields = (
        meta.IntegerField('id'),
        meta.CharField('title', maxlength=100),
        meta.TextField('description'),
        meta.CharField('image_url', maxlength=200),
        meta.FloatField('price'),
        meta.DateTimeField('date_available'),
    )

class User(meta.Model):
    db_table = 'users'
    fields = (
        meta.IntegerField('id'),
        meta.CharField('name', maxlength=100),
        meta.CharField('hashed_password', maxlength=40),
    )

Per the comment block at the top, you’re not home free yet, but at lot of tedious work has been done for you. This should definitely jumpstart the porting of existing applications to the Django platform.


99 Comments on “Migrating Your App to Django”

  1. 1 Robin Munn said at 5:51 am on August 6th, 2005:

    It’s worth noting that the model-creation syntax will be changing sometime before Django’s official 1.0 release, in a backwards-incompatible way. Instead of specifying fields with:

    fields = (
    meta.CharField('name', maxlength=50),
    meta.IntegerField('age')
    )

    You’ll specify fields with the following syntax:

    name = meta.CharField(maxlength=50)
    age = meta.IntegerField()

    Watch Django ticket #122 to see when the above change is actually applied to the Django repository.

  2. 2 Enquanto isso, na repartição… » Blog Archive » Comparações entre Web Frameworks said at 1:49 pm on August 17th, 2005:

    [...] Enquanto alguns artigos concentraram-se em fazer comentários sobre essa comparação ou de explicar como migrar de um web framework para o outro, outros voltaram para as comparações. entre as linguagens. [...]

  3. 3 a32ea9cb24c9 said at 4:09 pm on May 9th, 2008:

    a32ea9cb24c9…

    a32ea9cb24c91ec51557…

  4. 4 Oklahoma said at 12:35 am on July 8th, 2008:

    good luck,

  5. 5 Рекламное агентство said at 10:26 pm on June 24th, 2009:

    дето тоже читал

  6. 6 OranymnHauddy said at 7:04 am on July 5th, 2009:

    I think, that you are not right. I am assured.

  7. 7 uticupTHigcog said at 9:56 am on July 21st, 2009:

    ob es die Analoga Gibt?

  8. 8 sport-markt said at 3:43 pm on August 7th, 2009:

    Registriert

  9. 9 annoripaw said at 2:28 pm on August 23rd, 2009:

    It still that?

  10. 10 LarryXA said at 9:44 pm on November 6th, 2009:

    Thx, this has definitely made my day!

    _______________________
    wtf

  11. 11 vpowerauto said at 1:58 am on November 7th, 2009:

    Как Вы сами сказали “ну я не говорю о блогах”, но тогда можно “не говорить” о многих разработках.

  12. 12 spourpotmet said at 9:48 pm on November 21st, 2009:

    Прочитай все SMS и просмотри звонки своих друзей или второй половинки. Уникальная технология перехвата. СДЕЛАТЬ ЗАПРОС

  13. 13 swaxiaTah said at 7:15 pm on December 7th, 2009:

    thanks repayment for the great low-down…

  14. 14 Ornalkutinura said at 10:26 pm on January 29th, 2010:

    Мдаа..интересный пост. Вот только об этом пишут все кому не лень. Ини что, читают друг у друга новости и своим языком их пересказывают? Ð’ сео блогах это особенно заметно. Народ, столько новостей интересных в мире…

  15. 15 Ornalkutinura said at 1:16 am on February 3rd, 2010:

    мало инфы. Ð’Ñ‹ бы хоть постарались написать посто-то. Всё-таки вас читает много народа, да и в поисковике по этой теме вы на первой странице…ай яй яй…не хорошо :(

  16. 16 nowsDariwonee said at 10:38 pm on February 16th, 2010:

    А мне всё понравилось. Забрал в букмарки.

  17. 17 nowsDariwonee said at 9:15 am on February 17th, 2010:

    Хороший блог, удачи в нашем нелёгком деле :)

  18. 18 nowsDariwonee said at 10:40 pm on February 17th, 2010:

    Мне ваш сайт понравился. Так же всех с днём защитника отечества :)

  19. 19 nowsDariwonee said at 11:16 pm on February 18th, 2010:

    Можно было бы и поподробнее написать

  20. 20 nowsDariwonee said at 10:05 pm on February 19th, 2010:

    Прям шедевр, а не пост. Очень искал инфу на эту тему.

  21. 21 nowsDariwonee said at 7:43 pm on February 26th, 2010:

    Горячее однако обсуждение :) Я бы к посту ещё фоток добавил бы…

  22. 22 nowsDariwonee said at 9:23 pm on February 28th, 2010:

    Хороший сайт, удачи :)

  23. 23 Ornalkutinura said at 9:50 pm on March 6th, 2010:

    Вот огромное человческое спасибо вам за этот блог. Кроме этого поста нашёл ещё кучу интересного для себя. Теперь буду заходить сюда постоянно..Я Ваш читатель :)

  24. 24 Ornalkutinura said at 11:18 am on March 7th, 2010:

    Хотела бы обменяться с вами ссылочкой. У меня блог схожей тематики. Если интересно, то напишите на xizabella24@gmail.com

  25. 25 Ornalkutinura said at 12:09 am on March 10th, 2010:

    Понравился Ваш сайт! В рунете вообще мало чего дельного в блогах пишут. Всё стараются друг у друга скопировать посты. Года 2 назад было интересно ходить по разным блогам-видно было сразу-люди старались писать посты..а щас уже только для яндекса и стараются. Вообщем желаю продолжать Вам в Том же духе.
    С уважением Ваш читатель.

  26. 26 Ornalkutinura said at 1:41 pm on March 11th, 2010:

    +1 к предыдущему коментарию..

  27. 27 Ornalkutinura said at 3:08 pm on March 14th, 2010:

    ООО..давно искал. Забрал в букмарки. Автор, пишите почаще..не забрасывайте блог…Кстати не мешало бы диз поменять.

  28. 28 Ornalkutinura said at 9:34 pm on March 17th, 2010:

    Мне понравился ваш сайт. Добавил в букмарки :)

  29. 29 Roman said at 1:54 pm on March 18th, 2010:

    Спасибо, очень понравилось

  30. 30 Ornalkutinura said at 8:11 pm on March 19th, 2010:

    Статья хорошая, только если бы Ñ‚Ñ‹ оформил её немножко получше (добавил скрин-другой, или какой-нибудь арт) и заголовки сделал – тебе бы вообще цены не было :)

  31. 31 Ornalkutinura said at 7:52 pm on March 20th, 2010:

    +1 к предыдущему коментарию…форматирование можно было бы и поудобнее сделать. а так очень понравилось

  32. 32 Ornalkutinura said at 8:51 am on March 21st, 2010:

    Да ладно, чего к человеку пристали. Норм там всё с форматированием. Добавил в закладки ваш сайт.

  33. 33 Ornalkutinura said at 6:20 am on March 24th, 2010:

    Ух, сколько коментариев то тут набрасали. Ну отмечусь и я-пост бомба..так держать, молодцом автор!!!

  34. 34 Нью Йоркер said at 6:42 pm on March 24th, 2010:

    прочитал, прошу автора и ко мне заглянуть) или добавте меня во френды в контакте мой номер там 4073064

  35. 35 Ornalkutinura said at 5:16 pm on March 27th, 2010:

    +1 На всякий случай скопировал на жёсткий. Просьба к вам-пишите по чаще :)

  36. 36 awasseLet said at 1:41 pm on March 28th, 2010:

    Хороший обзор. Сразу видно что старались, за что и спасибо. Интересно было почитать

  37. 37 Ornalkutinura said at 6:50 am on March 29th, 2010:

    Пост супер!!! Ждём продолжения :)

  38. 38 awasseLet said at 7:57 pm on March 29th, 2010:

    Приятный дизаин у вас. Не подскажете, где можно шаблоны такие найти? Желательно бесплатно :)

  39. 39 awasseLet said at 9:22 am on March 31st, 2010:

    Хороший сайт. Столько много инфы тут нарыл для себя.

  40. 40 awasseLet said at 4:02 am on April 2nd, 2010:

    Прикольный блог, жаль тормозит загрзка только..видимо хостинг не очень хороший

  41. 41 nowsDariwonee said at 8:46 am on April 8th, 2010:

    Интересно написано…ждём продолжения :) Подписался на ваш блог, буду следить за новостями :)

  42. 42 xMobiles said at 4:42 am on April 9th, 2010:

    супер, мне понравилось

  43. 43 Максим said at 7:19 pm on April 23rd, 2010:

    Спасибо, очень интерестная статья! Только необходимо поправить шаблон блога, в Опере и в Мазиле искажается дизайн! А в ИЕ все нормально!

  44. 44 Sabina said at 12:12 pm on April 25th, 2010:

    Цифровые зеркальные фотоаппараты позволяют менять объективы.
    Дополнительные возможности при выборе оптики, что позволяет расширять поле зрения или снимать далеко расположенные объекты.
    Для отражения света на видоискатель в цифровых зеркальных фотоаппаратах используется зеркало.
    Сейчас вылетит птичка!

  45. 45 Clement Bradey said at 12:05 pm on November 30th, 2010:

    I propose this site to my boosters so it could be utilitarian & instructive for them besides. Dandy campaign.

  46. 46 Angelika Mantegna said at 6:37 pm on December 17th, 2010:

    You made certain good points there. I did a search on the topic and found a good number of persons will have the same opinion with your blog.

  47. 47 best weight loss pills said at 11:32 pm on January 19th, 2011:

    Strange this put up is totaly unrelated to what I used to be searching google for, but it surely was indexed at the first page. I guess your doing one thing proper if Google likes you enough to place you at the first web page of a non similar search.

  48. 48 QROPS said at 2:07 am on January 21st, 2011:

    Good issues?I’d notice that as any person who actually doesn’t write on blogs much (in reality, this may be my first post), I don’t suppose the time period ‘lurker’ could be very becoming to a non-posting reader. It’s now not your fault the least bit , but perhaps the blogosphere may just get a hold of a better, non-creepy title for the ninety% people that experience studying the content .

  49. 49 Online Coupons said at 11:30 am on January 21st, 2011:

    Thank you for making the honest attempt to explain this. I think very robust about it and would like to be informed more. If it’s OK, as you reach extra intensive wisdom, may you mind including extra posts very similar to this one with additional information? It could be extraordinarily useful and useful for me and my colleagues.

  50. 50 lanyards said at 1:02 am on January 22nd, 2011:

    I am speechless. This is a superb weblog and really engaging too. Nice work! That’s no longer in point of fact a lot coming from an amateur writer like me, but it surely’s all I could say after diving into your posts. Great grammar and vocabulary. Not like different blogs. You really know what you?re talking approximately too. So much that you made me want to discover more. Your weblog has transform a stepping stone for me, my friend.

  51. 51 Bankruptcy Attorney New York City said at 12:05 pm on January 22nd, 2011:

    I think that may be a captivating aspect, it made me suppose a bit. Thank you for sparking my thinking cap. Every so often I am getting such a lot in a rut that I just feel like a record.

  52. 52 Hip Hop Music said at 6:32 am on January 23rd, 2011:

    Thank you for making the sincere effort to talk about this. I believe very sturdy approximately it and want to read more. If it’s OK, as you achieve extra intensive wisdom, may you mind including more articles similar to this one with more information? It might be extremely useful and useful for me and my friends.

  53. 53 problem water said at 11:04 pm on January 23rd, 2011:

    Thank you for making the honest attempt to discuss this. I believe very robust about it and would like to read more. If it’s OK, as you gain extra extensive knowledge, may you mind adding extra articles similar to this one with more information? It could be extremely helpful and useful for me and my friends.

  54. 54 buy propecia said at 2:58 am on January 24th, 2011:

    In my opinion, it is actual, I will take part in discussion. I know, that together we can come to a right answer.

  55. 55 Bankruptcy Attorney New York City said at 10:58 am on January 24th, 2011:

    I image this could be numerous upon the written content? in spite of this I still imagine that it is usually suitable for nearly any form of topic subject matter, as a result of it would incessantly be pleasant to determine a heat and pleasant face or maybe pay attention a voice when preliminary landing.

  56. 56 halo reach ranks said at 2:03 am on January 25th, 2011:

    I think that is a fascinating aspect, it made me think a bit. Thanks for sparking my pondering cap. On occasion I get such a lot in a rut that I simply really feel like a record.

  57. 57 lanyards said at 6:24 am on January 25th, 2011:

    Thanks for making the trustworthy strive to give an explanation for this. I think very robust approximately it and wish to be told more. If it’s OK, as you attain more in depth wisdom, might you mind adding more posts similar to this one with additional information? It will be extremely useful and useful for me and my colleagues.

  58. 58 Griffins cigars said at 9:37 am on January 25th, 2011:

    Good issues?I’d observe that as somebody who in point of fact doesn’t write on blogs so much (if truth be told, this may be my first put up), I don’t assume the term ‘lurker’ is very turning into to a non-posting reader. It’s no longer your fault in the slightest degree , but perhaps the blogosphere may come up with a greater, non-creepy identify for the 90% folks that enjoy reading the content material .

  59. 59 electronic cigarette nicotine said at 4:31 am on January 27th, 2011:

    I am speechless. This is a excellent weblog and really enticing too. Great work! That’s no longer in reality much coming from an amateur publisher like me, but it’s all I may just say after diving into your posts. Great grammar and vocabulary. Not like different blogs. You actually realize what you?re speaking about too. Such a lot that you made me want to explore more. Your weblog has grow to be a stepping stone for me, my friend.

  60. 60 acai berry review said at 1:45 am on February 1st, 2011:

    We meet many people everyday in our life. We all struggle everyday try to be someone that good to other people life too. We need to appreciate all the people that we met everyday in our life.

  61. 61 Jeremiah Engwall said at 11:53 pm on February 1st, 2011:

    ample log you occupy

  62. 62 wholesale napapijri said at 2:21 am on February 2nd, 2011:

    Thanks for making the trustworthy attempt to explain this. I think very robust approximately it and want to be informed more. If it’s OK, as you attain extra in depth wisdom, may you thoughts adding extra posts very similar to this one with additional info? It would be extremely useful and helpful for me and my colleagues.

  63. 63 NYC Movers said at 12:58 pm on February 2nd, 2011:

    City move can be and should be an easy process. With Manhattan Movers NYC it start with call to our office! No hidden costs, no surprices! Call us. We serve Manhattan, Brooklyn, Queens – all NYC. Manhattan Movers NYC, 553 Broome St, New York, NY 10013, (212)300-6628

  64. 64 Consumer Wealth System said at 11:04 pm on February 2nd, 2011:

    I realy appreciate you guys taking the time to update these sites because they realy help me before i do anything to hastey.

  65. 65 affordable health insurance houston said at 12:00 am on February 3rd, 2011:

    We meet many people everyday in our life. We all struggle everyday try to be someone that good to other people life too. We need to appreciate all the people that we met everyday in our life.

  66. 66 cochecitos para bebes said at 9:14 am on February 3rd, 2011:

    These kind of post are always inspiring and I prefer to read quality content so I happy to find many good point here in the post, writing is simply great, thank you for the post

  67. 67 New Zealand QROPS said at 12:06 pm on February 4th, 2011:

    I picture this may well be various upon the written content material? however I still imagine that it may be suitable for virtually any form of subject material, as a result of it would ceaselessly be fulfilling to determine a heat and pleasant face or possibly listen a voice when initial landing.

  68. 68 chauvet lights said at 11:50 pm on February 4th, 2011:

    I admire the valuable information you be offering on your articles. I will bookmark your blog and feature my kids test up here generally. I’m relatively positive they’re going to be informed plenty of new stuff here than any one else!

  69. 69 Laurie Dolezal said at 10:26 am on February 5th, 2011:

    wow, great site, will be returning for much further reading to gain more info on this subject. Thanks – keep up the great work!

  70. 70 mazda radio said at 10:35 am on February 5th, 2011:

    I like the precious data you offer for your articles. I will be able to bookmark your weblog and feature my kids check up here generally. I am moderately sure they’ll learn a whole lot of new stuff here than any one else!

  71. 71 Reseguiden said at 5:17 pm on February 5th, 2011:

    i’ve visited this cool site a couple of times now and i have to tell you that i find it quite good actually. continue doing what you’re doing! ;)

  72. 72 how to use vigrx plus said at 2:05 am on February 6th, 2011:

    Just right points?I might notice that as someone who truly doesn’t write on blogs a lot (in truth, this can be my first submit), I don’t think the term ‘lurker’ is very turning into to a non-posting reader. It’s now not your fault the least bit , however most likely the blogosphere may get a hold of a better, non-creepy name for the 90% of us that enjoy reading the content material .

  73. 73 Natural Weight Loss Pills said at 3:45 am on February 6th, 2011:

    I just stumbled across your website from a friend’s digg profile. Bless him. Websites like yours are really rare in a webspace full of crap and spam.

  74. 74 carpet cleaning San Diego said at 11:41 am on February 6th, 2011:

    I like this information and it has given me some sort of desire to have success for some reason, so thanks. Furthermore I’m definitely considering blogging these facts in my own blog!

  75. 75 Frauen kennenlernen said at 10:06 pm on February 6th, 2011:

    I like this information and it has given me some sort of desire to have success for some reason, so thanks. Furthermore I’m definitely considering blogging these facts in my own blog!

  76. 76 blackberry 9700 said at 11:43 pm on February 6th, 2011:

    I realy appreciate you guys taking the time to update these sites because they realy help me before i do anything to hastey.

  77. 77 lanyards said at 10:53 pm on February 7th, 2011:

    Abnormal this put up is totaly unrelated to what I was looking out google for, but it surely used to be listed at the first page. I guess your doing something proper if Google likes you sufficient to place you at the first web page of a non related search.

  78. 78 my blog said at 10:40 am on February 8th, 2011:

    Strange this publish is totaly unrelated to what I was searching google for, but it used to be indexed on the first page. I guess your doing something right if Google likes you adequate to position you on the first page of a non similar search.

  79. 79 Eve Provosty said at 3:44 pm on February 8th, 2011:

    wow, great blog, will be returning for much further reading to gain more info on this subject. Thanks – keep up the great work!

  80. 80 Elvis Presley said at 2:50 am on February 9th, 2011:

    I’m happy I found this blog, I couldnt discover any info on this subject matter prior to. I also run a site and if you want to ever serious in a little bit of guest writing for me if possible feel free to let me know, i’m always look for people to check out my site. Please stop by and leave a comment sometime!

  81. 81 Pioneer vsx-1020-k review said at 9:11 am on February 9th, 2011:

    Just right issues?I might be aware that as any individual who actually doesn’t write on blogs much (in reality, this can be my first publish), I don’t suppose the time period ‘lurker’ could be very becoming to a non-posting reader. It’s now not your fault in the slightest degree , but perhaps the blogosphere may get a hold of a greater, non-creepy title for the 90% folks that experience studying the content .

  82. 82 club flyers said at 9:57 am on February 9th, 2011:

    Club flyers printing are great for advertising special events, and grand openings. Modern color flyer printing technology allows producing these flyers at a minimal cost, making them affordable for everyday use.

  83. 83 Car Hire Malaga Airport said at 5:06 am on February 10th, 2011:

    You can tally me in for a Digg. Thanks for posting this on your web site!

  84. 84 Paketresorna said at 10:49 pm on February 10th, 2011:

    keep up the nice work on the site. I love it. Could use some more frequent updates, but i’m sure you got more or better things to do like we all do. =p

  85. 85 plancher flottant said at 8:11 am on February 11th, 2011:

    I actually love how it is easy on my eyes and also the information are well written. I am wondering how I can be notified whenever a new post has been made. I have subscribed to your rss feed which ought to do the trick!

  86. 86 mobile phone zapper said at 11:29 am on February 11th, 2011:

    I picture this may well be various upon the written content material? nevertheless I nonetheless believe that it can be suitable for nearly any form of subject subject material, as a result of it might often be pleasant to resolve a heat and pleasant face or perhaps hear a voice whilst initial landing.

  87. 87 kids-tory-burch-flats said at 3:47 am on February 14th, 2011:

    As the summer goes, winter comes.You should have some shoes in store. Based on this point, the Tory Burch sale Shoes is developing faster and faster. More and more people do online shopping.With so many shoes in it, now I advise you getting a pair of…

    Welcome to http://www.cheaptoryburchshop.com. Good news for ballet fans – an update on the classic Tory Burch flip flop and tory burch slipper! They are fit for everyday wearing,comfortable and goodlooking are the advantages.Tory Burch sale is a brand which d…

  88. 88 tory-burch-flip-flops said at 4:10 am on February 14th, 2011:

    cheap tory burch shoes …

    Saletoryubrchon.com provide good quality and best price for cheap tory burch shoes products, there offer tory burch boots,tory burch sandals,tory burch flats,tory burch handbangs sale, tory burch wallets for free shipping. …

  89. 89 signs said at 11:04 am on February 14th, 2011:

    actually liked the article you wrote . it really is not that simple to find even remotely good stuff toactually read (you know READ! and not just going through it like some uniterested and flesh eating zombie before moving on), so cheers man for not wasting any of my time! :p

  90. 90 Budapest Reseguide said at 4:25 pm on February 14th, 2011:

    i have begun to visit this blog a few times now and i have to tell you that i find it quite good actually. keep it up! :p

  91. 91 vigrx plus said at 10:13 am on February 15th, 2011:

    I’ve been reading your entries all through my morning break, and I will have to admit the whole article has been very enlightening and really well written. I assumed I would let you recognise that for a few reason this blog does now not view smartly in Web Explorer 8. I wish Microsoft may forestall converting their software. I’ve a question for you. Would you mind replacing weblog roll hyperlinks? That would be truly neat!

  92. 92 Resorna said at 2:36 am on February 17th, 2011:

    actually like what that you have written actually. it really is not that simple to find even remotely good text toactually read (you know READ and not just going through it like some zombie before going to yet another post to just ignore), so cheers man for not wasting my time on the god forsaken internet. ;)

  93. 93 Jere Halgas said at 8:03 am on February 17th, 2011:

    Thank you for this intresting article. :-)uglas Potters

  94. 94 Carroll B. Merriman said at 9:37 am on February 17th, 2011:

    Dude, I think there is a mistake in the first paragraph, but I have to say very interesting article. Thanks, ley Tusa

  95. 95 Carroll B. Merriman said at 9:59 am on February 17th, 2011:

    Dude, great article. Can you give me your email address. There is something I would like to ask you. Thanks ryanna Jarrett

  96. 96 Andrew A. Sailer said at 1:03 pm on February 17th, 2011:

    Dude, I think there is a mistake in the first paragraph, but I have to say very interesting article. Thanks, cqui Torelli

  97. 97 web hosting india said at 2:20 am on February 18th, 2011:

    I have been studying your entries all over my morning break, and I will have to admit the entire article has been very enlightening and very well written. I assumed I would assist you to recognise that for a few reason this blog does now not view well in Web Explorer 8. I wish Microsoft could prevent changing their software. I’ve a query for you. Could you thoughts exchanging weblog roll hyperlinks? That may be in reality neat!

  98. 98 Jaxasiasiaf said at 5:37 am on February 18th, 2011:

    Directory of restaurants organized by states Panda Express

  99. 99 Quinn Hendrik said at 4:48 pm on February 18th, 2011:

    I couldn’t have asked for a more rewarding blog. You are there to give excellent tips, going straight to the point for straightforward understanding of your subscribers. You’re undeniably a terrific professional in this subject. Thanks a lot for remaining there guys like me.