hmm ok I'm thinking out loud here :)

So you want your users to have the ability to create env variables through
the Django admin. You also want these variables to be validated (ie you
don't want people to put 123 in a char var).

I still see this solution as being at least a starting ground. You would
just have to add some customization to the admin. Read:
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin

Then in your form you can validate the data (ie check to make sure that the
value for the variable is of type what ever type they picked.)

Then if your user attempted to put an int in a string you can have the
django admin raise errors to the user saying something to the effect "You
dingdong, the number 1 is not a string. If you want the number 1 to be a
string please put it in quotes"

as an aside: You could also add a foreign key to the project (if you have a
project model)

re: adding arbitrary models to django would be difficult, though i think you
can do it. The problem there is that each time you add a new model you'd
have to sync the database again. If you remove a model django won't remove
the tables in the DB you'd have to go and remove that table manually.

The problem with validating an env-var pythonically in a database is..well
the database isn't python and vice versa. The way I think your're thinking
about it is you want to have a dynamic database where you can create
variables and destroy variables and change variable types the way you do in
python (ie a = 1, a= "1", del a, etc...)

I think you're problem needs some creative thinking to create an environment
to create variables that replicates the way you can create variables in
Python.

I hope I made some sense! :)

n

Once in there you can
On Mon, Sep 13, 2010 at 3:56 PM, pixelcowboy <pixelcowbo...@gmail.com>wrote:

> The only reason I dont share the information is that I dont want to
> bore you to death. The application will need to provide (via a
> database) per project environment variables for use in external client
> applications. However, those variables might, or might not change from
> project to project.
>
> The only problem that I see with your solution above is that it would
> not validate for type (in a pythonic sense). What way would there be
> to add an arbitrary number of a diverse set of django model types?
> Thanks again for your help.
>
> On Sep 13, 6:40 am, "nick.l...@gmail.com" <nick.l...@gmail.com> wrote:
> > That's fine...well for data types ad a field for types say an integer
> field
> > and when youcome across a new type you need just increment your integer
> > count by one...
> >
> > ie:
> >
> > STRING = 1
> > INT = 2
> > CHAR = 3
> > TYPE_CHOICES = (
> > (STRING, 'string'),
> > (INT, 'integer'),
> > (CHAR, 'character'),
> > )
> >
> > Then add the field to your model:
> > data_type = models.IntegerField(choices=TYPE_CHOICES)
> >
> > Then in your admin view there will be filds the user needs to fill 'in'
> >
> > name
> > value
> > type
> >
> > I understand your lack of depth of information on the topic (this
> solution
> > isn't making me any happier than it's making you! :)
> >
> > I'm sure there is a slicker solution out there, I'm just trying to give
> you
> > something to think about and hopfully come up with something more elegant
> > that fits your business needs! :)
> >
> > n
> >
> > On Mon, Sep 13, 2010 at 4:37 AM, pixelcowboy <pixelcowbo...@gmail.com
> >wrote:
> >
> >
> >
> >
> >
> > > Of course! But what about different field types? How would you pair
> > > the variable name with the variable value for multiple types in the
> > > same class?  Or would you need a separate model class for each
> > > different value type? example integers, strings, etc
> >
> > > Sorry for the lack of information, but my application structure
> > > requires that users are able to add arbitrary variables to a
> > > model.Thanks for your help!
> >
> > > On Sep 12, 8:24 pm, "nick.l...@gmail.com" <nick.l...@gmail.com> wrote:
> > > > without knowing any context of what you want...or are going to do...I
> > > would
> > > > say create a similar model and run with it:
> >
> > > > class UserVariables(models.Model):
> > > >     variable_name = models.CharField(max_length=100)
> > > >     variable_value = models.TextField()
> >
> > > > THOUGH like I said, I have no idea what you're trying to do or
> why...but
> > > > this is by far the simplest way :)
> >
> > > > n
> >
> > > > On Sun, Sep 12, 2010 at 9:42 PM, pixelcowboy <
> pixelcowbo...@gmail.com
> > > >wrote:
> >
> > > > > What would be the best way to enable a user to create arbitrary
> > > > > variables through the django admin? This could be either numbers,
> text
> > > > > or paths to files.  Thanks for your advice!
> >
> > > > > --
> > > > > 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<django-users%2bunsubscr...@googlegroups.com>
> <django-users%2bunsubscr...@google groups.com>
> > > <django-users%2bunsubscr...@google groups.com>
> > > > > .
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/django-users?hl=en.
> >
> > > > --
> > > > Guadajuko! Vamos a correr!
> > > >  -"Cool! we are going to run!"
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Django users" group.
> > > To post to this group, send email to django-us...@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> <django-users%2bunsubscr...@google groups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/django-users?hl=en.
> >
> > --
> > Guadajuko! Vamos a correr!
> >  -"Cool! we are going to run!"
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to django-us...@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>


-- 
Guadajuko! Vamos a correr!
 -"Cool! we are going to run!"

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@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