将用户与模型django关联

时间:2016-09-16 08:49:39

标签: python django

我在model.py中有很多模型 -

class Portfolio(models.Model):
  company = models.TextField(null=True)
  volume = models.IntegerField(blank=True)
  date = models.DateField(null=True)
  isin = models.TextField(null=True)

class Endday(models.Model):
  company = models.TextField(null=True)
  isin = models.TextField(null=True)
  eop = models.TextField(max_length=100000)

class Results(models.Model):
  companies = models.TextField(default=0)
  dates = models.DateField(auto_now_add=False)
  eodp = models.FloatField(null=True)
  volume = models.IntegerField(null=True)

class Sectors(models.Model):
  sector_mc = models.TextField(null=True)

class Insector(models.Model):
  foundation = models.ForeignKey(Sectors, null=True)
  name = models.TextField(null=True)
  value = models.FloatField(default=0)

class AreaLineChart(models.Model):
  foundation = models.ForeignKey(CompanyForLineCharts, null=True)
  date = models.DateField(auto_now_add=False)
  price = models.FloatField(null=True)

  class Meta:
    ordering = ['date']

我有更多这样的模型,但正如您从这个片段中看到的那样,它们与任何用户都没有任何关系。

现在我想将它们与特定用户联系起来。在视图中,我也没有以任何方式对每个用户的数据进行分类。

我使用用户名和密码从django admin中创建用户,并从admin为这些用户生成令牌。我可以通过用户名和密码进行身份验证,但从那里我知道我需要使用权限,但我不知道怎么做。此外,我有与这些模型相关的序列化程序,我知道我也必须在那里使用权限但是我不知道如何。据我所知,它必须像这样 -

@api_view(['GET'])
def searched_company_ohlc(request):
  if request.method == 'GET':

  // User.objects.get('username'=some_user) 
  //I guess.

  qs = SearchedCompanyOHLC.objects.all()
  serializer = SearchedCompanyOHLCSerializer(qs, many=True)
  return Response(serializer.data)

另外,我在前端使用angularJS,在usernamepassword的视图上使用POST装饰器验证凭据。从这里去哪里?

2 个答案:

答案 0 :(得分:1)

你的models.py中的

可以像这样关联用户,例如

from django.contrib.auth.models import  User, Group
class Portfolio(models.Model):
 owner = models.ForeignKey(User,verbose_name = 'User',related_name='portfolios')
 company = models.TextField(null=True)
 volume = models.IntegerField(blank=True)
 date = models.DateField(null=True)
 isin = models.TextField(null=True)

答案 1 :(得分:0)

这与权限无关。

如果要将模型与用户关联,请将ForeignKey用于用户模型。