当前位置: 首页 > news >正文

国外哪些网站可以兼职做任务网站seo关键词设置

国外哪些网站可以兼职做任务,网站seo关键词设置,网站正在建设中色综合,天津品牌网站建设公司说明: 应用Pydantic Model 验证/出入 数据, SqlAlchemy Model数据实体,Fastapi提供API机制支持。数据表的坐标字段采用Mysql的GEOMETRY类型目前还没成功使用Pydantic的Coordinate类型,待后续改良 要点: 输出的结果是…

说明:

  • 应用Pydantic Model 验证/出入 数据, SqlAlchemy Model数据实体,Fastapi提供API机制支持。
  • 数据表的坐标字段采用Mysql的GEOMETRY类型
  • 目前还没成功使用Pydantic的Coordinate类型,待后续改良
要点:
  • 输出的结果是DeviceLocationSimpleOut模型,里面的验证/转换方法需通过,否则不能录入成功

设计:

建表sql
/*==============================================================*/
/* Table: ia_iot_device_location                                */
/*==============================================================*/
create table ia_iot_device_location
(id                   bigint not null auto_increment  comment '',iot_device_id        bigint default 0  comment '',label                varchar(255)  comment '',coordinates          GEOMETRY not null  comment '地理坐标',create_datetime      datetime not null default CURRENT_TIMESTAMP  comment '创建时间',update_datetime      datetime not null default CURRENT_TIMESTAMP  comment '更新时间',delete_datetime      datetime  comment '',is_delete            tinyint not null default 0  comment '',primary key (id)
);/*==============================================================*/
/* Index: Index_1                                               */
/*==============================================================*/
create index Index_1 on ia_iot_device_location
(iot_device_id
);/*==============================================================*/
/* Index: Index_2                                               */
/*==============================================================*/
create SPATIAL index Index_2 on ia_iot_device_location
(coordinates
);
Pydantic Model

(apps\vadmin\iot\schemas\DeviceLocation.py)

#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version        : 1.0
# @Create Time    : 2024/05/22 20:45
# @File           : Device.py
# @IDE            : PyCharm
# @desc           : pydantic 模型,用于数据库序列化操作from pydantic import BaseModel, Field, ConfigDict, ValidationError, validator, field_validator, constr
from core.data_types import DatetimeStr
from datetime import datetime, timezone, timedelta
from apps.vadmin.iot.models.data_types import *
from apps.vadmin.iot.utils import utils
from application import settings
from pydantic_extra_types.coordinate import Coordinate
from geoalchemy2.shape import to_shapeclass DeviceLocation(BaseModel):label: str | None = Field(None, title="标签")iot_device_id: int | None = Field(..., title="None")# coordinates: Coordinate | None = Field(..., title="地理坐标")coordinates: str | None = Field(..., title="地理坐标")class DeviceLocationSimpleIn(DeviceLocation):passclass DeviceLocationSimpleOut(DeviceLocation):model_config = ConfigDict(from_attributes=True)id: int = Field(..., title="编号")create_datetime: DatetimeStr = Field(..., title="创建时间")update_datetime: DatetimeStr = Field(..., title="更新时间")@validator("create_datetime", "update_datetime", pre=True)def convert_utc_to_local(cls, value):return utils.convert_utc_to_local(value)@field_validator("coordinates", mode="before")def turn_coordinates_into_wkt(cls, value):return to_shape(value).wkt
SqlAlchemy Model

(apps\vadmin\iot\models\models.py)

from typing import List, Optional
from datetime import datetime
from sqlalchemy import BigInteger, Column, DateTime, ForeignKey, ForeignKeyConstraint, Index, Integer, String, Table, Text, text
from sqlalchemy.dialects.mysql import TINYINT
from sqlalchemy.orm import Mapped, declarative_base, mapped_column, relationship
from sqlalchemy.orm.base import Mapped
from geoalchemy2 import Geometry, WKBElement
from sqlalchemy.orm import relationship, Mapped, mapped_column
from db.db_base import BaseModel
from .data_types import DeviceType
import uuid
import secretsmetadata = BaseModel.metadataclass DeviceLocation(BaseModel):__tablename__ = 'ia_iot_device_location'__table_args__ = (Index('Index_1', 'iot_device_id'),Index('Index_2', 'coordinates'))id = mapped_column(BigInteger, primary_key=True)coordinates: Mapped[WKBElement] = mapped_column(Geometry(geometry_type='POINT', spatial_index=True), nullable=False, comment='地理坐标')iot_device_id = mapped_column(BigInteger, server_default=text("'0'"))label = mapped_column(String(255, 'utf8mb4_general_ci'))
 FastApi 入口

(apps\vadmin\iot\views.py)

###########################################################
#    设备地理位置
###########################################################
@app.get("/device-location", summary="获取设备地理位置列表", tags=["设备地理位置"])
async def get_deviceLocation_list(p: params.DeviceLocation = Depends(), auth: Auth = Depends(AllUserAuth())):datas, count = await crud.DeviceLocationDal(auth.db).get_datas(**p.dict(), v_return_count=True)return SuccessResponse(datas, count=count)@app.post("/device-location", summary="创建设备地理位置", tags=["设备地理位置"])
async def create_deviceLocation(data: schemas.DeviceLocation, auth: Auth = Depends(AllUserAuth())):return SuccessResponse(await crud.DeviceLocationDal(auth.db).create_data(data=data))@app.delete("/device-location", summary="删除设备地理位置", description="硬删除", tags=["设备地理位置"])
async def delete_deviceLocation_list(ids: IdList = Depends(), auth: Auth = Depends(AllUserAuth())):await crud.DeviceLocationDal(auth.db).delete_datas(ids=ids.ids, v_soft=False)return SuccessResponse("删除成功")@app.put("/device-location/{data_id}", summary="更新设备地理位置", tags=["设备地理位置"])
async def put_deviceLocation(data_id: int, data: schemas.DeviceLocation, auth: Auth = Depends(AllUserAuth())):return SuccessResponse(await crud.DeviceLocationDal(auth.db).put_data(data_id, data))@app.get("/device-location/{data_id}", summary="获取设备地理位置信息", tags=["设备地理位置"])
async def get_deviceLocation(data_id: int, db: AsyncSession = Depends(db_getter)):schema = schemas.deviceLocationSimpleOutreturn SuccessResponse(await crud.DeviceLocationDal(db).get_data(data_id, v_schema=schema))

接口Example

 数据库记录

参考:

- Working with Spatial Data using FastAPI and GeoAlchemy

- sql server中对geometry类型的常用操作、SRID、GeoTools工具简单使用,geometry和geojson格式之间的转换_sqlserver sde geometry 转text-CSDN博客

http://www.mmbaike.com/news/41692.html

相关文章:

  • 怎么做网站代购南宁seo专员
  • 北京智能建站系统价格网站怎么搭建
  • 教做衣服的网站有哪些福州seo代理商
  • 网站开发 .net怎样在百度上做广告
  • 邯郸做wap网站的公司企业营销策划书
  • wordpress 评论看不到外贸网站谷歌seo
  • 韩国的 电子商务网站四川seo整站优化费用
  • 建站 哪个网站系统好用百度推广业务员电话
  • wordpress菜单显示选项打不开哈尔滨seo关键词优化
  • wordpress导航栏上海seo外包
  • 做网站在哪里租服务器苏州做网站哪家比较好
  • 怎么把网站做seo到首页网络营销个人总结
  • 专业网站建设的公司哪家好市场营销计划方案
  • 当建设部门网站抖音宣传推广方案
  • 服务器在美国的网站优化疫情二十条措施
  • 邯郸中材建设有限责任公司网站微信朋友圈广告推广代理
  • wordpress 分类排序seo基础
  • php网站建设公司发外链的论坛
  • 企业网站建设的必要性游戏推广论坛
  • 兰州做网站公司有哪些谷歌seo需要做什么的
  • 广州网站推广公司手机做网页的软件
  • 网站推广方法有哪些万网注册域名
  • jsp做网站毕业设计核心关键词和长尾关键词
  • 企业网站托管哪家好什么是seo是什么意思
  • 销售草皮做网站行吗泉州网站建设
  • 新疆网站建设咨询互联网营销师资格证
  • 外贸网站模板下载0元免费做代理
  • 南京哪家做网站好如何在百度上添加店铺的位置
  • 潍坊网站建设服务百度云下载
  • 甘肃省网站备案谷歌下载安装