У меня есть таблица, в которой company_images
принадлежат к country_master
кроме случаев, когда country_id является . Если country_id равно 0, я предполагаю, что это «все местоположения». Но так как 0 не существует в country_master. Он не возвращает результат для этих записей в списке company_images. Как это исправить.Джанго админ недостающих записей
Простите меня, если это простая вещь, потому что я новичок в python/django.
Model.py
class CountryMaster(models.Model):
country_id = models.IntegerField(primary_key=True)
country_name = models.CharField(max_length=255)
created_date = models.DateTimeField(auto_now_add=True)
updated_date = models.DateTimeField(auto_now=True)
class Meta:
db_table = "country_master"
def __unicode__(self):
if self.country_name is None:
return "None"
else:
return self.country_name
class CompanyImage(models.Model):
image_url = models.ImageField(upload_to='company', max_length=255)
country = models.ForeignKey(CountryMaster)
created_date = models.DateTimeField(auto_now_add=True)
updated_date = models.DateTimeField(auto_now=True)
class Meta:
db_table = "company_images"
def __unicode__(self):
return "None"
Я попытался это и упоминание об этом admin.py как дисплей подал
def country_name(self):
if self.country_id is 0:
return "ALL"
else:
return self.country
country_name.short_description = 'Country'
Одна работа вокруг - сделать 'country' нулевым (' null = True, blank = True'), и если пусто, предположите __all__ местоположения. Это, на мой взгляд, было бы чище. Другой вариант. Имейте специальное значение - 'country_master.name = 'all'' и присвойте __all__ случаю этому объекту – karthikr
это работает для меня. PLZ поставить это как ответ. так что я могу отметить его как правильный ответ. – aWebDeveloper
также не могли бы вы подробно объяснить вариант b. я не получил его – aWebDeveloper