2016-05-25 14 views
1

Ich habe eine API in Python, die Flasche, Flasche-erholsamen ... verwenden und die Front ist eine Angular Webapp. Ich habe ein Modell "Campaign" und ein Modell Tag mit einem Verhältnis viele-zu-viele, in der Tabelle Campaigns_Tags zusammengestellt von Id, CampaignId, TagId.Flask restfull many-to-many

Ich möchte eine Verknüpfung zwischen Kampagnen und Tags erstellen/aktualisieren, wenn ich Kampagnen aktualisiere.

JSON

{ 
"Name": "MyCampaign", 
"Tags": [2] // List of tags id 
} 

Python Ressource

class CampaignsResource(BaseListResource): 
     args = parser_new.parse_args() 

     # set ClientId (same as current_user) and AuthorId 
     args['ClientId'] = session.get('client_id') 
     args['AuthorId'] = session.get('id') 

     # save object 
     new_campaign = self.model.create(**args) 


     return new_campaign, 201 

Meine Modelle meine die Reflexion Mechanismus SQLAlchemy gebaut werden.

Kann ich es in einem API-Anruf tun? Ich muss es selbst machen? Es gibt keine generische Methode zum Füllen der Tabelle Campaigns_Tags?

Ich fand nichts über viele-zu-viele Beziehung mit Flasch-Restfull, wenn Sie einen Link haben, den ich interreseting bin. Vielleicht verkenne ich etwas, ich bin ein Neuling in Python

Antwort

0

Aus meiner Erfahrung unterstützt SQLAlchemy nicht wirklich Viele-zu-viele Beziehungen direkt. Ich musste immer jede Seite der Beziehung separat in meinem Code behandeln, obwohl es in Ordnung ist, beide Seiten in demselben Anruf zu behandeln.

Dies würde es so machen, dass der API-Aufrufer denkt, dass es ein Standard-Viele-zu-Viele ist, und das Zusammenführen der beiden Eins-zu-Vielen zu einer einzigen Antwort würde von Ihrem Code gehandhabt werden.