On Saturday, August 16, 2014 10:46:33 PM UTC+3, Aaron Law wrote:
>
>
> Hi all,
>
> I have php web programming background, and new to Django. I am helping my 
> brother to build an online system to manage inventory, and I've got a 
> database design & coding problem recently. Needing help!
>
> That is, I have a set of tables of "possible products", "inventory", 
> "suppiler", etc. I want to attach a "comment" to each of them. Therefore, I 
> think I should make a generic "comment" table to hold all the comments of 
> products, inventory, suppiler.
>
> --
> possible_products
> id: int (pk)
> name: varchar
> url: varchar
> price: decimal
> created_at: datetime
> updated_at: datetime
> --
> comments
> id: int (pk)
> parent_id: int (fk)
> content: text
> author: int (fk)
> table: char (which the table this comment belongs to)
> created_at: datetime
> updated_at: datatime
> --
>
> My problem is, when "possible_products" table is the parent of "comment", 
> then a foreign key of the parent (id number) is stored in the "comment" 
> table in order to link up them. 
>

> However, how about the fk of the "inventory" table and the "suppiler" 
> table? It should not be that: I create 2 more columns of "inventory_id" nor 
> "suppiler_id" in "comments" table. (That is, I should not create the 4th 
> column when I want to link up the 4th parent table.)
>

You can make the fk to the "possible_products" table. In your particular 
case, I do not see reasons to take comments into a separate table rather 
than in the parent table, though this might be just omitted in the 
description. I do use this style of inheriting tables with connections 
between them. If you are interested, I have one project in this style in 
googlecode (early stage yet): labman2 <http://code.google.com/p/labman2/>.

Note that django docs generally discourage using the involved type on table 
inheritance. I attribute this discourage to wide use of mysql...


> So, Should I use generic forgien key of Django? (so that, my "comment" 
> table design is right.) And how to use/implement it?
>
> P.S I mainly develop the system in the Admin section of Django.
>
> Regards,
> Aaron Law Ho hon
> --~--~---------~--~----~------------~-------~--~----~
> Free as in Freedom ;-)
> --~--~---------~--~----~------------~-------~--~----~
>  

-- 
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/93d80efa-8ef3-426f-a492-f19222c6a4cc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to