コード例 #1
0
def create_blog(
    title: str, text: str, status: str, source: str, img: str, author_id: int
) -> tuple:
    """创建文章。

    Parameters
    ----------
    title : str
        标题
    text : str
        正文
    status : str
        文章状态,草稿、私密、公开等,由1个字母表示
    source : str
        转载源
    img : str
        封面图片地址
    author_id : int
        作者的账号

    Returns
    -------
    tuple
        文章、正文、文章信息 构成的三元组。
    """
    blog = Blog(
        title=title,
        source=source is not None,  # 布尔字段标明博客是否为转载而不用去查另一个表中的转载源
        abstract=text[:255],  # 摘要取前255个字
        check='u',  # 新提交的博客全是未审核的
        author_id=author_id,
        img=img,
        status=status,
    )
    blog.save()
    blog_text = BlogText(
        id=blog.id,
        text=text,
        source=source
    )
    blog_info = BlogInfo(
        id=blog.id
    )
    blog_text.save()
    blog_info.save()
    return blog, blog_text, blog_info