2016-09-16 3 views
-1

ich viele Modelle in model.py haben -Verknüpfen von Benutzern mit Modellen django

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'] 

ich mehr solche Modelle haben aber wie Sie aus dieser Schnipsel sehen können, sind sie nicht in irgendeiner Weise für jeden Benutzer im Zusammenhang .

Jetzt möchte ich sie auf einen bestimmten Benutzer beziehen. Auch in den Ansichten klassifizierte ich keine Daten pro Benutzer.

Ich mache Benutzer von django admin mit Benutzername und Passwort und generieren auch ein Token für diese Benutzer von admin. Ich kann mich über Benutzername und Passwort authentifizieren, aber von dort weiß ich, dass ich Berechtigungen verwenden muss, aber wie ist das, was ich nicht weiß. Außerdem habe ich Serialisierer, die mit diesen Modellen verbunden sind, ich weiß, dass ich dort Berechtigungen auch verwenden muss, aber wieder weiß ich nicht wie. So viel wie ich verstehen, es hat in someway wie this-

@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) 

auch sein, ich AngularJS an der Front-End-bin mit, dass BEITRÄGE username und password auf einen Blick mit POST Dekorateur die Anmeldeinformationen zu überprüfen. Wohin geht es von hier?

Antwort

0

in Ihrem models.py können Sie Benutzer wie dies zum Beispiel

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) 
+0

Ich muss auch andere Modelle verbinden, das gleiche würde für alle von ihnen gehen? – ThatBird

+0

Auch wäre der Prozessablauf wie ich den Benutzer zum ersten Mal authentifizieren, neben ich die Funktionen in der Ansicht ausführen und beim Speichern, geben Sie den Benutzerobjekt zu, dritte, wenn ich ein api Schreiben von Daten zu dienen, ich tun, wie oben geschrieben in die Frage? – ThatBird

+0

Sie müssen die Beziehung zwischen Tabellen zuweisen, zum Beispiel 1 Benutzer hat 1 Portfolio oder viele. Sie können auf diesen Link verweisen https://docs.djangoproject.com/el/1.10/ref/models/fields/#django.db.models.ForeignKey sehen, welche Beziehung haben Sie brauchen, und die über django Ruhe und Winkel Sie bekommen können verwandte Artikel –

0

Dies hat nichts mit Berechtigungen zu tun.

Wenn Sie Ihr Modell einem Benutzer zuordnen möchten, verwenden Sie ForeignKey für das Benutzermodell.

+0

Können Sie beziehen Sie sich bitte über die Kommentare auf die Antwort lesen? – ThatBird

Verwandte Themen