Как показать поле модели для встроенного метода Джанго? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть три модели HomePage, Callout, FeatureContent, как показано ниже:

class FeatureTip(models.Model):
   feature_tip_title = models.CharField(max_length=120, null=True, blank=False)
   feature_tip_description = models.TextField()
   def __str__(self):
      return self.feature_tip_title


class Citie(models.Model):
   name = models.CharField(max_length=120, null=True, blank=False)
   description = models.TextField()

   def __str__(self):
      return self.name


class HomePage(models.Model):
   header = models.CharField(max_length=120, null=True, blank=False)
   cities = models.ManyToManyField(Citie)
   featured_tips = models.ManyToManyField(FeatureTip)

   def __str__(self):
      return 'Home Page'


class Callout(models.Model):
   header = models.CharField(max_length=120, null=True, blank=False)
   home_page = models.ForeignKey(HomePage,on_delete=models.CASCADE, null=True, blank=False)
   def __str__(self):
      return self.header

   def get_city(self):
      return self.cities.all()

class FeatureContent(models.Model):
   title = models.CharField(max_length=120, null=True, blank=False)
   home_page = models.ForeignKey(HomePage, on_delete=models.CASCADE, null=True)
   def __str__(self):
      return self.feature_article_title_en

и он был добавлен в Admin.py как показано ниже:

class CalloutInline(admin.StackedInline):
    model = Callout
    fields = ['header']
    extra = 4
    max_num = 4
    def get_queryset(self, request):
        HomePage.objects.filter(name="Eminem")

class FeatureContentInline(admin.StackedInline):
    model = FeatureContent
    fields = ['title']
    extra = 1
    max_num = 1

class HomePageAdmin(admin.ModelAdmin):
    filter_horizontal = ['cities', 'featured_tips']

    inlines = [CalloutInline, FeatureContentInline]

Проблема в том, что я хочу, чтобы города отображались под CalloutInline, а featured_tips - ниже FeatureContentInline. В настоящее время оба отображаются на главной странице. Как я могу это сделать?

...