0
私はdjango restサービスを開発しています。私と私の同僚は現在、djangoモデルについて議論しています。私たちはReport
という名前のモデルを持っています。このモデルには、場所(経度、緯度、住所、都市、郵便番号)に関するフィールド/フィールドが含まれています。私は可読性よりもパフォーマンスを犠牲にする必要があります
私は場所を別のモデルにしたいと思っていますか?他のモデルもこの位置モデルを使用することができる。ここで私が何を意味するかです:
class Location(models.Model):
address = models.CharField(max_length=200)
city = models.CharField(max_length=100)
postal_code = models.CharField(max_length=10)
latitude = models.FloatField()
longitude = models.FloatField()
class Report(models.Model):
user = models.ForeignKey(User)
description = models.CharField(max_length=500)
datetime = models.DateTimeField(auto_now_add=True)
location = models.OneToOneField(Location)
それは私と他のモデルにはるかにきれいに見えるので、私はレポート上のすべてのクエリのための場所で別のクエリが存在しなければならないことを知っているが、私はそれはそれは価値があると考えることができますまた、フィールドをコピーせずにこのLocation
モデルを使用してください。
ありがとうございました
これは問題ありません。関連するモデルを使ってクエリを実行するときに 'select_related'または' prefetch_related'を使うだけです –