मैं django में मॉडल बनाना सीख रहा हूँ। लेकिन जब मैं माइग्रेशन करने की कोशिश कर रहा हूं तो मुझे एक त्रुटि संदेश मिलता है क्योंकि मालिक के हिस्से में प्रथम श्रेणी के get_full_name
और मूवी क्लास की वापसी में भी त्रुटि है।
जो त्रुटियां सामने आती हैं, वे निम्नलिखित हैं: पंक्ति 23,20 के बीच ForeignKey
में `` get_full_name'` सदस्य नहीं है और यह कि दर_काउंट के रूप में दोनों दर परिभाषित चर के रूप में नहीं हैं। मैं यहां कोड छोड़ता हूं।
`from django.db import models
from django.contrib.auth import get_user_model
from django.core.validators import MaxValueValidator
User= get_user_model()`
class MoveList(models.Model):
#modelo de lista para ver
name= models.CharField('Nombre de la Lista', max_length=50, unique=True)
owner = models.ForeignKey(User)
movies = models.ManyToManyField('movies.Movie')
def __str__(self):
return "'{list}' de {owner}".format(
list =self.name,
owner =self.owner.get_full_name()
)
class Movie(models.Model):
#Modelo de peliculas
name= models.CharField('Nombre de la pelicula',max_length=100)
release_date = models.DateField('Fecha de estreno')
rate = models.PositiveIntegerField('Total de claificaciones de la pelicula',blank=True, null=True)
rate_count = models.PositiveIntegerField('Veces que se ha calificado a la pelicula',blank=True)
tags = models.ManyToManyField('movies.Tag')
studio = models.ForeignKey ('movies.Studio',on_delete=models.SET_NULL, null=True)
director =models.ForeignKey('movies.Director',on_delete=models.SET_NULL, null=True)
def average_rate(self):
""""devuelve la calificación"""
if self.rate_count == 0:
return 0
else:
return rate/rate_count
def __str__(self):
return self.name
2 जवाब
यहां वास्तव में दो प्रश्न हैं।
अपने दूसरे प्रश्न के लिए, प्रतिस्थापित करें:
return rate/rate_count
द्वारा:
return self.rate/self.rate_count
क्या आपने @property डेकोरेटर वाली संपत्ति में "औसत_दर" बनाने पर विचार किया है? यदि आप इस गणना की गई संपत्ति को एक टेम्पलेट में उपयोग करने का इरादा रखते हैं (और आपको किसी भी पैरामीटर में जोड़ने की आवश्यकता नहीं है), तो मैं ऐसा करने की सलाह दूंगा।
ऐसा लगता है कि आप बिना "स्वयं" के दर और दर_गणना का उपयोग कर रहे हैं। एक्सेसर, यही वजह है कि वे अनाम के रूप में दिखाई दे रहे हैं।
@property
def average_rate(self):
""""devuelve la calificación"""
if self.rate_count == 0:
return 0
else:
return self.rate/self.rate_count
"get_full_name" के संबंध में, यह सुनिश्चित नहीं है कि यह ठीक से काम क्यों नहीं कर रहा है। ऐसा लगता है कि यह उदाहरण और उसके मूल्य के बजाय मॉडल फ़ील्ड क्लास को पकड़ रहा है।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।