Например есть связанные модели:
class CityType(models.Model):
type=models.CharField(maxlength=20)
typeDescr=models.CharField(maxlength=200)
def __str__(self):
return self.type
class Admin:
pass
class City(models.Model):
ru=models.CharField(maxlength=100)
en=models.CharField(maxlength=100)
short=models.CharField(maxlength=3)
type=models.ForeignKey(CityType)
def __str__(self):
return self.ru
class Admin:
list_display = ('ru', ‘en’, ‘short’, ‘type’)
Для того, чтобы внести в City строку, в соотв. с маном нужно сделать:
obj=City(ru=“Киев”,ua=“Київ”,en=“Kyiv”,short=“Kv”,type=CityType.objects.filter(type=“велике_село”))
obj.save()
Насколько я понимаю, джанговская админка именно эту строку и выполнит, после того, как получит от клиента запрос на добавление.
Внимание, вопрос:
Каким образом админка определяет, что из связанной таблицы должно быть выфильтровано именно поле type а не (например) typeDescr?
Есть подозрения, что для этого както анализируется метод __str__ соотв. модели
Заранее благодарен за варианты, идеи, предположения или пожелания RTFM.