Как я могу упростить сложные отношения «многие ко многим» в моделях Django?

getProperty генерирует исключение, а не ошибку. Значимость заключается в том, что вы можете справиться с этим и сохранить себя if:

$ref = new ReflectionObject($obj);
$propName = "myProperty";
try {
  $prop = $ref->getProperty($propName);
} catch (ReflectionException $ex) {
  echo "property $propName does not exist";
  //or echo the exception message: echo $ex->getMessage();
}

Чтобы получить все частные свойства, используйте $ref->getProperties(IS_PRIVATE);

0
задан paul 17 January 2019 в 13:37
поделиться

1 ответ

Маленькая находка, которую я нахожу супер полезной, - это использование наборов внешних ключей с декоратором свойств. Это может хорошо сработать для вас. Например.

class City(models.Model):
   name =  models.CharField(max_length=200)

   # We add a property for the regions 
   @property
   def regions(self):
       # now we use the region set 
       return self.region_set.all()

class Region(models.Model):
   name =  models.CharField(max_length=200)
   city = models.ForeignKey(City)

Теперь вы можете получить доступ к городу региона через его внешний ключ, а вы можете получить доступ к регионам города через свойство регионов (city.regions)

.
0
ответ дан Neil 17 January 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: