我正在创建一个医生目录,并希望为每个目录添加专门化和子专门化。问题是牙医的次专业不同于其他专业。因此,当我从管理面板中添加牙医时,我希望看到与添加任何其他专业不同的子专业列表。我不知道该怎么办。到目前为止,我对专业化和子专业化有一个单独的模型。当我尝试添加专门化时,它会为所有内容打开相同的专门化下拉列表。你知道吗
class Specialization(models.Model):
name = models.CharField(max_length=30)
info = models.TextField(max_length=1600, blank = True, null = True)
def __unicode__(self):
return self.name
class Meta:
ordering = ('name',)
class Sub_Specialization(models.Model):
name = models.CharField(max_length=30)
info = models.TextField(max_length=1600, blank = True, null = True)
def __unicode__(self):
return self.name
class Meta:
ordering = ('name',)
class Doctor(models.Model):
name = models.CharField(max_length=1300)
specialization = models.ForeignKey(Specialization)
sub_specialization = models.ForeignKey(Sub_Specialization,null = True, blank = True)
def __unicode__(self):
return u"%s %s" % (self.name, self.specialization)
def get_absolute_url(self):
from django.core.urlresolvers import reverse
return reverse('m1.views.showDocProfile', args=[str(self.id)])
class Meta:
ordering = ('name',)
删除
Sub_Specialization
它是多余的使用
django-mptt
https://django-mptt.github.io/django-mptt/models.html#setting-up-a-django-model-for-mptt和
django-mptt-admin
https://github.com/mbraak/django-mptt-admin这个问题通常被称为“依赖选择”
其中一个包解决了这个问题-https://github.com/runekaagaard/django-admin-flexselect
相关问题 更多 >
编程相关推荐