#python #sql-server #django
#python #sql-сервер #django
Вопрос:
Я начинаю свою практику в качестве программиста, но у меня есть проблема, и она заключается в том, что в компании, где я работаю, мне дали тестовую базу данных, содержащую 60 тысяч данных, я прочитал документацию, где говорится, как получить таблицы, я могу это сделать, но на момент полученияесли эти таблицы содержат целочисленные данные в своих внешних ключах, есть ли какой-либо способ использовать таблицы с помощью Django ORM, это мои модели:
from django.db import models
class TipoNovedad(models.Model):
id_tnov = models.AutoField(db_column='Id_TNov', primary_key=True) # Field name made lowercase.
nom_nov = models.CharField(db_column='Nom_Nov', max_length=100) # Field name made lowercase.
desc_nov = models.CharField(db_column='Desc_Nov', max_length=250) # Field name made lowercase.
manejo_tiempo = models.CharField(db_column='Manejo_Tiempo', max_length=20) # Field name made lowercase.
dias = models.CharField(db_column='Dias', max_length=20, blank=True, null=True) # Field name made lowercase.
estado = models.BooleanField(db_column='Estado') # Field name made lowercase.
class Meta:
db_table = 'Tipo_Novedad'
class Novedades(models.Model):
id_nov = models.AutoField(db_column='Id_Nov', primary_key=True) # Field name made lowercase.
# is in the foreign key of the novelty model
id_tnov = models.IntegerField(db_column='Id_TNov') # Field name made lowercase.
n_identificacion = models.CharField(db_column='N_Identificacion', max_length=20) # Field name made lowercase.
fec_registro = models.DateTimeField(db_column='Fec_Registro') # Field name made lowercase.
fec_inicio = models.DateField(db_column='Fec_Inicio', blank=True, null=True) # Field name made lowercase.
fec_fin = models.DateField(db_column='Fec_Fin', blank=True, null=True) # Field name made lowercase.
fec_nov = models.DateField(db_column='Fec_Nov', blank=True, null=True) # Field name made lowercase.
hora_inicio = models.CharField(db_column='Hora_Inicio', max_length=5, blank=True, null=True) # Field name made lowercase.
hora_fin = models.CharField(db_column='Hora_Fin', max_length=5, blank=True, null=True) # Field name made lowercase.
report_tm = models.BooleanField(db_column='Report_TM') # Field name made lowercase.
id_usuario_creacion = models.IntegerField(db_column='Id_Usuario_Creacion') # Field name made lowercase.
id_usuario_ultimaactualizacion = models.IntegerField(db_column='Id_Usuario_UltimaActualizacion') # Field name made lowercase.
id_sedenov = models.IntegerField(db_column='Id_SedeNov', blank=True, null=True) # Field name made lowercase.
id_estadonov = models.IntegerField(db_column='Id_EstadoNov') # Field name made lowercase.
observacion = models.TextField(db_column='Observacion', blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'Novedades'
Комментарии:
1. Эта ссылка может быть полезной docs.djangoproject.com/en/3.1/howto/legacy-databases
2. Что я хотел бы знать, так это то, что если я изменю поле с целым полем с помощью внешнего ключа, будет ли это плохой практикой?
3. Если это работает, почему бы и нет?
4. да, это сработало, спасибо