我有两个模型“里程碑”和“项目”,代码如下:
class Project(models.Model):
ID = models.CharField(max_length=15, primary_key=True)
Name = models.CharField('Project Name', max_length=100)
ShortName = models.CharField('Project Short Name', max_length=100)
def __unicode__(self):
return self.Name
class Milestone(models.Model):
Project = models.ForeignKey(Project)
def __unicode__(self):
return self.Name
当我创建里程碑时,我可以选择一个项目,然后里程碑属于该项目,例如,project1---> m1; project2 --->m2
然后在另一个模型“任务”中,我想创建一个属于特殊项目和里程碑的任务。代码如下:
class Task(models.Model):
Name = models.CharField('Title', max_length=200)
Project = models.ForeignKey(Project,null=True, blank=True)
Milestone = models.ForeignKey(Milestone,null=True, blank=True)
def __unicode__(self):
return self.Name
问题是当我创建一个任务并选择一个项目时,里程碑字段的项目列表总是包含两个“m1”和“m2”,我希望当我选择 project1 时列表只显示 m1,当我选择project2 列表仅显示 m2。
我该如何实施?谢谢
更新了 我的文件夹结构
mysite_new/
manage.py
mysite/
------ __init__.py
urls.py
setting.py
wsgi.py
templates/
default.html
ticket/
------__init__.py
models.py
view.py
urls.py
admin.py
js/
---- project_change.js
在 admin.py
class TaskAdmin(admin.ModelAdmin):
class Media:
js = ['js/project_change.js',]
admin.site.register(Task,TaskAdmin)
在 urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/login', MyView().login),
url(r'^hello/', hello),
(r'^product_change/','project_choices'),
)
并在我的 db
中添加任务网站:http://127.0.0.1:8000/admin/ticket/task/add/
我没有更改您的任何代码,请您帮忙检查一下我的代码有什么问题吗?
更新 非常感谢。Arulmurugan,一个善良的人