Python 在Django中将项目添加到元组中后,是否可以重新启动服务器?
我有这些元组DOC和COURSE的空列表,当一个产品被保存时,稍后会被添加到他的特定列表中Python 在Django中将项目添加到元组中后,是否可以重新启动服务器?,python,django,list,tuples,restart,Python,Django,List,Tuples,Restart,我有这些元组DOC和COURSE的空列表,当一个产品被保存时,稍后会被添加到他的特定列表中 CATEGORY = ( ('DOC','DOCUMENTAZIONE'), ('COURSE','CORSO'), ) class Product(BaseModel): class Meta: verbose_name=_('Prodotto') verbose_name_plural=_('Prodotti') name = mo
CATEGORY = (
('DOC','DOCUMENTAZIONE'),
('COURSE','CORSO'),
)
class Product(BaseModel):
class Meta:
verbose_name=_('Prodotto')
verbose_name_plural=_('Prodotti')
name = models.CharField(_("Nome Prodotto"),max_length=1024, blank = False, null=True)
category = models.CharField(_("Categoria"),max_length=1024, blank = False, null=True,choices=CATEGORY)
def __unicode__(self):
return self.name
DOC = ()
COURSE = ()
try:
for product in Product.objects.all():
if product.category == 'DOC':
DOC = DOC + ((str(product.id), str(product.name.encode('utf-8'))),)
if product.category == 'COURSE':
COURSE = COURSE + ((str(product.id), str(product.name.encode('utf-8'))),)
except Exception as e:
print e
pass
class ProductOfferDoc(BaseModel):
class Meta:
verbose_name = _("Documentazione")
verbose_name_plural = _("Documentazioni")
product = models.CharField(max_length=1024, blank=False,null=False, choices=DOC)
number = models.IntegerField(_('Num.'), default=0, blank=True, null=True)
price = models.DecimalField(_('Prezzo'),max_digits=10, decimal_places=2,default=0.00,blank=True, null=True )
offer = models.ForeignKey(Offer, related_name='related_doc')
def __unicode__(self):
return self.product
class ProductOfferCourse(BaseModel):
class Meta:
verbose_name = _("Corso")
verbose_name_plural = _("Corsi")
product = models.CharField(max_length=1024, blank=False,null=False, choices=COURSE)
number = models.IntegerField(_('Num.'), default=0, blank=True, null=True)
price = models.DecimalField(_('Prezzo'),max_digits=10, decimal_places=2,default=0.00,blank=True, null=True )
offer = models.ForeignKey(Offer, related_name='related_course')
def __unicode__(self):
return self.product
我的问题是,我需要显示可用的产品,但刚刚添加的新产品在我重新启动服务器之前不会显示。
还有其他方法可以做同样的事情吗?或者存在添加产品时自动重新启动服务器的功能?您不应该寻找自动重新启动服务器的解决方案,这通常不是一个好主意!。相反,您应该更改代码,这样就不需要重新启动服务器 填充DOC和COURSE元组的代码只执行一次,因为您将其放置在何处。当Django首次加载应用程序时,直接放入models.py文件(即不在函数或类中)的所有内容都会执行一次 查看您的代码,您可能应该用foreignkey替换product CharFields。这样,您根本不需要DOC和COURSE元组——Django将在创建ModelForm时自动生成ForeignKey的选择列表。无论如何,由于许多其他原因,将其他对象的ID保存在CharField中是很奇怪的,也是次优的
如果您真的觉得需要使用一个包含可能选项列表的动态元组,但查看您的代码,在这种情况下,您真的不应该这样做!阅读此问题的答案:。您不应该寻找自动重启服务器的解决方案,这通常不是一个好主意!。相反,您应该更改代码,这样就不需要重新启动服务器 填充DOC和COURSE元组的代码只执行一次,因为您将其放置在何处。当Django首次加载应用程序时,直接放入models.py文件(即不在函数或类中)的所有内容都会执行一次 查看您的代码,您可能应该用foreignkey替换product CharFields。这样,您根本不需要DOC和COURSE元组——Django将在创建ModelForm时自动生成ForeignKey的选择列表。无论如何,由于许多其他原因,将其他对象的ID保存在CharField中是很奇怪的,也是次优的
如果您真的觉得需要使用一个包含可能选项列表的动态元组,但查看您的代码,在这种情况下,您真的不应该这样做!阅读此问题的答案:。很抱歉我之前的评论。我没有完全阅读这个问题。很抱歉我之前的评论。我没有完全阅读这个问题。