On Dec 1, 9:51 pm, "Bret Walker" <[EMAIL PROTECTED]> wrote:
> On 12/1/06, James Bennett <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > On 12/1/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > 1.  Mark fields as optional.
> > >      I don't like this because there will be lots of null values
> > > inserted into the database.  I also don't think that this would be
> > > following SQL best practices.
>
> > Well, even in PHP you were going to have null columns. What you really
> > seem to want is a way to say, in SQL,
>
> > create table ticket (
> > user_id integer not null references "end_user" ('id') or references
> > "temp_user" ('id')
> > );
>
> > Except databases don't work that way ;)
>
> > So no matter what, you're going to get optional fields, with some
> > filled in for "real" users and NULL otherwise (and vice-versa).
>
> > Given that, optional fields seem to be the way to go. Use the admin,
> > train your staff on which fields need to be used in which situations,
> > and move on.I may not have been clear in my description of how I see the 
> > database working.
> In the ticket table, there would be a bool dictating whether or not
> the ticket if for end_user or temp_user.  There would also be a field
> for the id of the end or temp user (the user data would be in another
> table).  If foreign keys were required, I guess there could be two
> columns, one for end_user id and one for temp_user id, one of which
> would always be null.  This would at least allow the admin interface
> to display similar data the table view.  This seems like a perfect
> application of model inheritance.  The admin interface could display
> the columns that the parent class has (which means all child classes
> would have them as well).
>
> If I use optional fields, I'm going to end up having disparate columns
> that hold the same type of date (name, email, phone).  This doesn't
> make sense to me.  It also will render the admin interface ineffective
> (since, for example, I won't be able to sort by name because there
> will be two name columns).  This is also impractical because I require
> too much information for the end_user objects.  Trying to collect the
> data for each end user each time a ticket is created will lead to
> inconsistent data and wasted time.
>
> Surely someone has an eloquent solution to this type of problem, which
> I'm sure has come up before.
>
> Thanks for all of the quick responses.
>
> Bret

No answers to my questions?  I'm thinking that my problem may be
related to the SQLAlchemy work that is going on.  Is this the case?

Also, I tried to make my ForeignKey field optional, as suggested, but
Django threw an error saying that it had to have a value.

Bret


--~--~---------~--~----~------------~-------~--~----~
 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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to