我在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,在username
和password
的视图上使用POST
装饰器验证凭据。从这里去哪里?
答案 0 :(得分:1)
可以像这样关联用户,例如
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用于用户模型。