Sounds about right, glad it's working for you! Dan Harris [email protected]
On Jun 10, 12:41 pm, onorua <[email protected]> wrote: > I did following: > add Media JS for User model (jquery and my own script follows), with > FireBug get the names of HTML id of the elemets I want to process. > Then created view with JSON output. > > $(document).ready(function() { > $('#id_Port').html(""); > $('#id_Switch').change(function() { > var switch_id = $('#id_Switch').val(); > var ports = [] > $.post("/cmdb/switch_ports/"+switch_id+"/", { "func": > "getNameAndTime" }, > function(data){ > for ( var i = 0; i < data.length; i++) { > var onePort = "<option value=\""+data[i].pk > +"\">"+data[i].fields.PortNum+"</option>"; > $('#id_Port').append(onePort) > } > }, "json"); > }); > > }) > > On 8 июн, 22:22, Dan Harris <[email protected]> wrote: > > > > > Actually when I say not possible out of the box, I should really say > > without having to write some custom code. Since JQuery is built in, > > you should be able to write your own JQuery function that gets called > > when the switch drown down is changed > > (see:http://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-me...). > > This function should make an ajax call to a custom view in your model > > admin > > (see:http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-...). > > > Overall you will have to write a javascript function (JQuery) and a > > custom view for your ModelAdmin. You of course don't have to use > > JQuery, but it is included by default in the admin and is quite > > popular. > > > Dan Harris > > [email protected] > > > On Jun 8, 3:17 pm, onorua <[email protected]> wrote: > > > > Hello, thank you for your reply! > > > That's really what I've looked for, some way to prepopulate one drop- > > > box according to selected another one. > > > Crappy that it's impossible to do out of the box (would be great if it > > > could do). > > > > Thank you for the hints about JQuery and 3rd party application, I'll > > > give it a try. > > > > On 8 июн, 22:03, Dan Harris <[email protected]> wrote: > > > > > Just trying to clarify your question a bit... > > > > > Are you asking if there is a way in the admin interface that when a > > > > user selects a switch from a drop down box that the port drop down box > > > > will be automatically populated/filtered based on the selection in the > > > > switch drop down? > > > > > If this is the case I don't believe that it is currently possible "out > > > > of the box" in the Django admin. Some work was being done to integrate > > > > JQuery into the admin for some Ajaxy stuff, but at the moment I don't > > > > think that very much found it's way in. There are probably a few 3rd > > > > party projects that implement this, but I don't know of any off the > > > > top of my head. > > > > > If you already know what switch a user as selected (i.e. they saved it > > > > previously), then you can probaby populate the port list by overriding > > > > the formfield_for_foreign_key method in the AdminModel > > > > (see:http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#modeladmin-me...) > > > > > Hope this helps! > > > > > Dan Harris > > > > [email protected] > > > > > On Jun 8, 10:04 am, onorua <[email protected]> wrote: > > > > > > I have > > > > > ==== > > > > > class User(models.Model): > > > > > Switch = models.ForeignKey(Switch, related_name='SwitchUsers') > > > > > Port = models.ForeignKey(Port) > > > > > > class Switch(models.Model): > > > > > Name = models.CharField(max_length=50) > > > > > > class Port(models.Model): > > > > > PortNum = models.PositiveIntegerField() > > > > > Switch = models.ForeignKey(Switch, related_name = "Ports") > > > > > ==== > > > > > > I need when I create User or change User, and choose some Switch to > > > > > have Ports only related to that Switch in Option Box. > > > > > > How can I acheave it? > > > > > Thank you. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. 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.

