我想知道如何通過與我的數據庫對應的數據更改Campaign對象和Destino對象。我使用的代碼將數據返回給我的數據庫,但是在它顯示不這樣做的操作的部分。有沒有其他方法可以做到這一點?感謝您閱讀我的問題並留下您的答案。如何通過我的數據庫字段的數據更改我的Django模型的對象名稱?
這裏是我的admin.py文件:
from django.contrib import admin
from .models import Campania, Destino
class CampaniaAdmin(admin.ModelAdmin):
list_display = ('id_campania','nombre_campania','fecha_creacion','fecha_inicio','usuario','correos_diarios','email','sms', 'completado')
search_fields = ['nombre_campania']
class DestinoAdmin(admin.ModelAdmin):
list_display = ('id_destino','unidad_id_unidad','campania_id_campania','enviado','fecha_hora')
search_fields = ['id_destino']
這裏是我的models.py文件:
from __future__ import unicode_literals
from django.db import models
class Campania(models.Model):
id_campania = models.AutoField(primary_key=True, verbose_name='ID')
template = models.ForeignKey('Template', db_column='template', blank=True, null=True, verbose_name='Template')
nombre_campania = models.CharField(max_length=500, blank=True, null=True, verbose_name='Nombre de la campaña')
fecha_creacion = models.DateField(blank=True, null=True, verbose_name='Fecha de creación')
fecha_inicio = models.DateField(blank=True, null=True, verbose_name='Fecha de inicio')
usuario = models.CharField(max_length=250, blank=True, null=True, verbose_name='Creador de la campaña')
correos_diarios = models.IntegerField(blank=True, null=True, verbose_name='Correos por día')
email = models.BooleanField(default=True, verbose_name='Enviar correo')
sms = models.BooleanField(default=True, verbose_name='Enviar mensaje (sms)')
completado = models.NullBooleanField(default=False, blank=True, null=True, verbose_name='Completado')
class Meta:
managed = False
db_table = 'campania'
verbose_name_plural = "Campañas"
def __str__(self):
return '{}'.format(self.nombre_campania)
class Destino(models.Model):
id_destino = models.AutoField(primary_key=True, verbose_name='ID')
unidad_id_unidad = models.ForeignKey('Unidad', db_column='unidad_id_unidad', blank=True, null=True, verbose_name='Unidad destino')
campania_id_campania = models.ForeignKey('Campania', db_column='campania_id_campania', blank=True, null=True, verbose_name='Campaña dirigida')
enviado = models.NullBooleanField(blank=True, null=True, verbose_name='Confirmación de envío de campaña')
fecha_hora = models.DateTimeField(blank=True, null=True, verbose_name='Fecha de envío')
class Meta:
managed = False
db_table = 'destino'
verbose_name_plural = "Destinos"
def __str__(self):
return '{}'.format(self.unidad_id_unidad)
檢查部分操作(Acciones)
我正在使用版本1.8 Django和3.4.4 Python
我希望你使用Python 2,你需要定義'__unicode__'而不是'__str__' 。 –
我忘了把@DanielRoseman我使用Django的1.8版本和Python的3.4.4 –