我创建了一个数据库,其中一个表的属性之一必须是另一个表的元组(记录)列表。我的文件中有一个“Etudiant”表和一个“Groupe”表。请问怎么做
下面是包含相关表格的代码摘录
from django.db import models;
from django.contrib.auth.models import User;
from django.utils import timezone;
# Table qui stockera les groupes aux quelles les étudiants appartiennent
class Groupe(models.Model):
numero_groupe = models.IntegerField();
nombre_de_membre = models.IntegerField();
liste_etudiant = ; # Here an students list;
chef_de_groupe_tp = models.CharField(max_length=100);
ue = models.ForeignKey(UE, on_delete=models.PROTECT);
date_creation = models.DateTimeField(default=timezone.now, verbose_name="Date de création");
class Meta:
verbose_name = "groupe";
ordering = ['date'];
def __str__(self):
info_groupe = ue.code_ue + " : " numero_groupe;
return self.info_groupe;
# Table qui stockera les informations concernant les étudiants
class Etudiant(models.Model):
matricule_etudiant = models.CharField(max_length=10);
user = models.OneToOneField(User); # étudiant a désormais les attributs de User.
niveau = models.CharField(max_length=10);
avatar = models.ImageField(null=True, blank=True, upload_to="avatar/etudiant/");
td = models.ManyToManyField(TD, through='Note_TD');
tp = models.ManyToManyField(TP, through='Note_TP');
class Meta:
verbose_name = "étudiant";
ordering = ['matricule_etudiant'];
def __str__(self):
info_etudiant = matricule_etudiant + " " + user.last_name + " " + user.firstname + " " + niveau;
return self.info_etudiant;
据我所知,django里面没有
ListField
。如果使用postgres
作为数据库,则可以使用django.contrib.postgres.fields
中的ArrayField
。否则,您可以使用下面给出的解决方案,但它有自己的局限性(您不能像普通字段一样进行查询)或者,如果使用
postgres
,则可以使用JsonField
fromdjango.contrib.postgres.fields
。在这种情况下,您还可以查询此字段相关问题 更多 >
编程相关推荐