我是Django的新手,我正在编写简单的电话簿模型。
我有对象Person
和Contact
每个人都可以有多个联系人。
我有两种建模方法,但我不确定哪一种是正确的。
第一种方法:
class Contact(models.Model):
phone_number = models.CharField(max_length=20)
name = models.CharField(max_length=100,blank=True)
class Person(models.Model):
owner = models.OneToOneField(User,unique=True,primary_key=True)
phone_number = models.CharField(max_length=20,unique=True)
name = models.CharField(max_length=100,blank=True)
contacts = models.ManyToManyField('Contact', blank=True)
第二种方法:
class Contact(models.Model):
possessor = models.ForeignKey(Person,related_name='possessor')
phone_number = models.CharField(max_length=20)
name = models.CharField(max_length=100,blank=True)
class Person(models.Model):
owner = models.OneToOneField(User,unique=True,primary_key=True)
phone_number = models.CharField(max_length=20,unique=True)
name = models.CharField(max_length=100,blank=True)
我不确定哪种方法更好(并且更正确?)以后更容易进行查询。
谢谢!
答案 0 :(得分:1)
第一个允许Contact
属于多个Person
。第二个只允许Contact
属于单个Person
。
答案 1 :(得分:0)
******在views.py文件中写下以下代码
def my_view(request): all_categories = Category.objects.all()
******在HTML文件中编写以下代码
{all_categories%中的类别%}