comment obtenir un objet de table et des champs spécifiques de requête dans sqlalchemy?

Pâtissier

Je crée une table lorsque l'utilisateur souhaite ajouter une adresse IP et un port pour obtenir une carte d'url qui se réfère à l'ip: port spécifique qu'il ajoute. Le tableau est créé en fonction de son adresse e-mail.

def create_user_table(table_name):
    engine = get_sql_engine()
    metadata = MetaData(engine)
    user_table = Table(table_name, metadata,
        Column("userip_id", db.Integer, primary_key=True, autoincrement=True),
        Column("date_created", db.DateTime, default=db.func.current_timestamp()),
        Column("date_modified", db.DateTime, default=db.func.current_timestamp(),
                              onupdate=db.func.current_timestamp()),
        Column("ipaddress", CIDR, nullable=False),
        Column("urlmap", db.String(10), nullable=False, unique=True),
        Column("port", db.Integer, index=True),
        Column("device", db.String(10)),
        Column("path", db.String(30)),
        Column("service", db.String(10)),
        Column("count_updates", db.Integer, default=0, nullable=False),
        )
    user_table.create(engine)
    return user_table

Je n'ai pas rendu l'adresse IP et l'adresse de port uniques car le même utilisateur peut avoir un port différent mais la même adresse IP et une adresse IP différente mais la même adresse de port (j'ai opté pour la dernière en considérant qu'un utilisateur peut mettre à jour)

si je crée une table sous forme héritée de la base de données, db.Modelje peux interroger comme cls.query.filter(ipaddress=ipaddress).first()ceci me renverra cet objet de table.Je peux vérifier si cet Ip a un port spécifique, mais maintenant que j'ai créé une table héritant de sqlalchemy.Tableje n'ai pas la fonction de requête disponible.

Comment puis-je interroger et comparer si l'IP spécifique a une adresse de port spécifique mappée à une urlmap existante (non connue)?

Pâtissier

Compris comme toujours: p

# if same ip exists external port address should not exist in mapped in db.
query_table = helpers.get_query_result(user_table_name, "ipaddress", data['ip']).fetchall()
ports_mapped_to_ip_in_db = [item[5] for item in query_table]
if int(data['port']) in ports_mapped_to_ip_in_db:
    return jsonify({"status": "{}:{} is already registered.".format(data["ip"], data["port"])})

get_query_resultdans le module helpers est:

def get_query_result(table_name, field_name=None, value=None):
    """ execute query and provide result
    """
    engine = get_sql_engine()
    if all([field_name, value]):
        return engine.execute("SELECT * FROM {} WHERE {}='{}'".format(table_name, field_name, value))
    else:
        return engine.execute("SELECT * FROM {}".format(table_name))

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Comment désactiver ou activer le balayage de Viewpager dans Android

  2. 2

    Créer une table externe Hive à partir de fichiers de parquet partitionnés dans Azure HDInsights

  3. 3

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  4. 4

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  5. 5

    Concaténer des variables dans ansible

  6. 6

    ESP8266 HADRWARE MINUTERIE, USA pour cocher une macro étrange

  7. 7

    Stop jQuery execution after one time execution

  8. 8

    Filtrer les données en fonction des conditions d'une trame de données

  9. 9

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

  10. 10

    obtenir le nombre de marqueur affiché sur la carte

  11. 11

    Comment centrer un div tout en utilisant la transition et transformer avec l'échelle

  12. 12

    Comment utiliser le stockage local et le supprimer lorsqu'il n'est pas nécessaire

  13. 13

    Redirection HTTP vers HTTPS dans Java à l'aide de HTTPURLConnection

  14. 14

    Comment envoyer plusieurs variables de la lame au contrôleur

  15. 15

    Comment définir du texte dans un QLabel et afficher les caractères '<>'?

  16. 16

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  17. 17

    System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

  18. 18

    Générer une variable binaire avec une corrélation prédéfinie avec une variable déjà existante

  19. 19

    la mise en place Spring dans Eclipse - Échec d'initialisation de contexte

  20. 20

    comment afficher un bouton au-dessus d'un autre élément ?

  21. 21

    Uncaught TypeError: map n'est pas une fonction dans Reactjs avec Firebase

chaudétiquette

Archive