Всякий раз, когда я пытаюсь получить доступ к своей модели "Youtube" из django admin, она показывает мне эту ошибку. Я чувствую, что испортил это в YoutubeAdmin
, внутри getCountry
метода. Как я могу решить это? Не могу найти способ. В сообщении указано model Youtube doesn't have a filed getCountry
.
Моя модель:
class Youtube(models.Model):
link = models.CharField(max_length=2000)
scrap_interval_hour = models.IntegerField(default=8)
last_scrapped_datetime = models.DateTimeField(blank=True, null=True)
is_feed = models.BooleanField(default=False)
created_date = models.DateField(
auto_now_add=True)
# Foriegn Key
country = models.ForeignKey(Country, on_delete=models.CASCADE)
class Meta:
ordering = ('created_date', )
admin
from django.contrib import admin
from fpn.models import Youtube
from datetime import timedelta
class YoutubeAdmin(admin.ModelAdmin):
def get_fields(self, request, youtube=None):
fields = super(YoutubeAdmin, self).get_fields(request, youtube)
fields.remove('last_scrapped_datetime')
if youtube:
fields.remove('country')
return fields
model = Youtube
list_per_page = 10
list_display = ('link', 'is_feed',
'getCountry', 'last_scrapped_datetime')
list_filter = ('country', 'is_feed', )
def getCountry(self, obj):
return "\n".join([coun.name for coun in obj.country.all()])