Django中的一对多和个人

时间:2018-02-20 23:32:58

标签: python django relational-database

我已经按照以下方式自定义了django用户对象,

class User(AbstractBaseUser):
    mobile = models.CharField(max_length=100, unique=True)
    email = models.EmailField(max_length=255)
    username = models.CharField(max_length=255)
    full_name = models.CharField(max_length=255, blank=True, null=True)
    staff = models.BooleanField(default=False)
    admin = models.BooleanField(default=False)
    root = models.BooleanField(default=False)

我还有一个feed和一个Source对象,它有一对多的关系。

class Source(Base):
    name = models.CharField(max_length=255)


class Feed(Base):
    headline = models.CharField(max_length=255)
    link = models.CharField(max_length=255)
    summary = models.TextField()
    published_date = models.DateTimeField()
    views = models.IntegerField(default=0)
    shares = models.IntegerField(default=0)
    source = models.ForeignKey(Source, on_delete=models.CASCADE,)

现在我想模拟书签操作,从而将多个Feed与一个用户相关联。我如何在Django中做到这一点。

1 个答案:

答案 0 :(得分:1)

添加另一个模型from django.db.models import CharField from django.db.models.functions import Cast from django.shortcuts import render from fundmgmt.models import FundPrice def fund_details_cards(request): fp = list(FundPrice.objects.values('fund_id', value_date=Cast('value_date', CharField()), price=Cast('price', CharField()))) return render(request,"fundmgmt/fund_detail_cards.html", {'fund_prices': fp})

Bookmark

然后将此字段添加到class Bookmark(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) fed = models.ForeignKey(Feed, on_delete=models.CASCADE) last_read_page = models.IntegerField() 模型中。

Feed