English 中文(简体)
大约在jan戈行政网页上的外key
原标题:about cacade foreignkey in django admin page

我的模式如下:

class Manufacturers(models.Model):
    name = models.CharField()

class Phones(models.Model):
    manufacturer = models.ForeignKey(Manufacturers)
    name = models.CharField()

class Prices(models.Model):
    phone = models.ForeignKey(Phones)
    price = models.DecimalFeild()

并且我已在行政部登记。 y

My problem is: In django s admin interface, When I add a price, I can select a phone from the dropdown list, But there are so many phones, So I want to select the manufacturer at first, then select the phone from the manufacturer s phones. How can I make this. Thanks very much.

最佳回答

The term for this is “

http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3A official&q=chained+select+menu+django&aq=f&aqi=&aql=f&oq=&gs_rfai=“rel=”djangos。 您可能认为有用的是django-smart-selects

借助于django-smart-smart-selects,这就是你如何撰写你的模型:

class Manufacturers(models.Model):
    name = models.CharField()

class Phones(models.Model):
    manufacturer = models.ForeignKey(Manufacturers)
    name = models.CharField()

class Prices(models.Model):
    phone = ChainedForeignKey(
        Phone, 
        chained_field="manufacturer",
        chained_model_field="manufacturer", 
        show_all=False, 
        auto_choose=True
    )
    price = models.DecimalField()

尽管如此,我不禁要问,你是否以最好的方式执行。

It might be better to have Prices show up under the admin form for each phone. So instead of creating a price record and choosing the phone from a drop-down, you d go into the record for that phone and add a price record. See django s documentation on InlineModelAdmin.

问题回答

暂无回答




相关问题
How to get two random records with Django

How do I get two distinct random records using Django? I ve seen questions about how to get one but I need to get two random records and they must differ.

Moving (very old) Zope/Plone Site to Django

I am ask to move data from a (now offline) site driven by Plone to a new Django site. These are the version informations I have: Zope Version (unreleased version, python 2.1.3 ) Python Version 2.1....

Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

Flexible pagination in Django

I d like to implement pagination such that I can allow the user to choose the number of records per page such as 10, 25, 50 etc. How should I go about this? Is there an app I can add onto my project ...

is it convenient to urlencode all next parameters? - django

While writing code, it is pretty common to request a page with an appended "next" query string argument. For instance, in the following template code next points back to the page the user is on: &...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

热门标签