からモデル化するためのフィールドをインポートするには、Especie.zonasのベクトルがモデルソナ内のフィールドであることを取得しよう。Djangoは、私は次のモデルを持っていると私は別のモデル
すなわちEspecie.zonasはZonas(モデルゾナ)のベクトルであり、私はそれがモデルEspecieZona
Models.py
class Zona(models.Model):
codigo = models.CharField(max_length=120)
area = models.CharField(max_length=120)
especies = models.ManyToManyField("Especie", blank=True)
def __str__(self):
return self.codigo
def get_especies(self):
return self.especies.all().values_list('nome', flat=True)
class Especie(models.Model):
nome = models.CharField(max_length=120)
nome_latino = models.CharField(max_length=120)
data_insercao = models.DateTimeField(auto_now_add=True)
actualizacao = models.DateTimeField(auto_now=True)
zonas = models.ManyToManyField("Zona",blank=True)
def get_zonas(self):
return self.zonas.all().values_list('codigo', flat=True)
def __str__(self):
return self.nome
class EspecieZona(models.Model):
idEspecie = models.OneToOneField("Especie")
here_is_my_problem = models.Especie.zonas()
idZona = models.OneToOneField("Especie.zonas")
fechado = models.BooleanField()
def __str__(self):
return str(self.idEspecie)+' em '+str(self.idZona)
とOneToOne関係を持つようにしたいです
ありがとうございます!
は、あなたの答えのためにそれをあなたに感謝します両方とも明確かつ有用でした。おそらく最良の方法で質問をしないことに対する謝罪。私は非常にDjangoの新しいと時々私は語彙が欠けている。それでも、あなたは私の問題を完全に理解することができました! 「someSpecificEspecieZona.especie.zonas.all()」の意味と、「someSpecificEspecieZona」というメソッドがどのように見えるのかを指定しますか?私はあなたがEspecieZonaモデルの中に置くことを提案していると信じています。私はdjangoクラスをそれに付けるべきですか? models.someSpecificEspecieZona.especie.zonas.all()?あなたの時間と忍耐のためにもう一度感謝します! –
ああ、 'someSpecificEspecieZona'は、モデルEspecieZonaのインスタンスのランダムな名前にすぎません。たとえば、 'someSpecificEspecieZona = EspecieZona.objects.get(id = 1)'の前にこの行があるかもしれません。そのため、内部のメソッドではなくモデルの使用でした。 '.especie'では、関連するEspecieインスタンスを取得し、次に.zonasを使用すると、そのEspecieインスタンスに関連付けられたZonaインスタンスを取得します。そして '.all()'は、マネージャではなくQuerySetを返すことですが、Djangoについてはかなり新しくなっていますので、私にとって説明するのは少し難しいです:https://stackoverflow.com/a/22806277/4192226 –