How do you implement multiple data types for an object in Django?
RDBMS with type based structures are not designed for that. For instance, take Google's big table, which don't complain what you store (i.e, product A property types may be entirely different from product B, though both are of type Product).
You need object based storage system, with type flexibility. 
Are you sure you want that at any cost? We still can do that, but with lot of overhead. Here is pseudo code.

Model Product:
        id (primary key)

Model AttributeType:
   """
   Defines various data types available for storage.
   ex: (1, 'INT') or (2,'STRING') or (3, 'FLOAT')
   """
      id:
      name:

Model ProductAttributes:
   """
   Stores various attributes of a product
   Ex: (P1,ATT1,100) or (P1, ATT3, 10.5) or (P2, ATT2, "ABCD")
   """
      FK-> Product
      FK-> AttributeType
      Name 'String'
      Value Blob
I'd like to know the best way to associate various data types with an object in Django.  Some of the types should be string, boolean, image file, choice from a list, or a link.  For example, say you have a Product model.  For product X, you'll want to add an image attribute, a string for the model name, and a link. For product Y, possible attributes would be an image, a weight decimal.  What would be the best way to set this up?  Are there any packages available that do this or something similar?