'How to make a variable in one table connect to primary keys in multiple tables

Problem: I need help modifying the names variable in the Unit class model by turning it into a foreign key that connects with the primary keys of the classes OriginalCharacter, MovieFranchise, TV, Videogame, NovelandBook, and ComicandManga. Can someone help me with this please?

Code(Flask Sqlalchemy models):

class Unit(db.Model):
unitid = db.Column(db.Integer, primary_key = True)
names = db.Column(db.String(80), nullable = False)
unittype=db.Column(db.String(20), nullable = False)
mediatype=db.Column(db.String(60), nullable = False)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
melodyid=db.Column(db.Integer, db.ForeignKey('soundtrackand_score.melodyid'))

class OriginalCharacter(db.Model):
id=db.Column(db.Integer, primary_key = True)
charactername=db.Column(db.String(60), nullable = False)
role=db.Column(db.String(20), nullable = False)
side=db.Column(db.String(20), nullable = False)
summary=db.Column(db.String(1000000), nullable = False)

class ComicandManga(db.Model):

id = db.Column(db.Integer, primary_key = True)
charactername = db.Column(db.String(40), nullable = False)
comicbookandmangacompanyname=db.Column(db.String(40), nullable = True)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
link = db.Column(db.String(180), nullable = False)
read = db.Column(db.String(180), nullable = True)

class Videogame(db.Model):

id = db.Column(db.Integer, primary_key = True)
charactername = db.Column(db.String(40), nullable = False)
companyname=db.Column(db.String(40), nullable = False)
videogameseriesname=db.Column(db.String(40), nullable = False)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
link = db.Column(db.String(180), nullable = False)
read = db.Column(db.String(180), nullable = True)

class NovelandBook(db.Model):
id = db.Column(db.Integer, primary_key = True)
charactername = db.Column(db.String(40), nullable = False)
novelandbookseriesname=db.Column(db.String(40), nullable = True)
author=db.Column(db.String(60), nullable = True)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
link = db.Column(db.String(180), nullable = False)
read = db.Column(db.String(180), nullable = True)

class TV(db.Model):

id = db.Column(db.Integer, primary_key = True)
charactername = db.Column(db.String(40), nullable = False)
televisionseriesname=db.Column(db.String(40), nullable = False)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
link = db.Column(db.String(180), nullable = False)
read = db.Column(db.String(180), nullable = True)

class MovieFranchise(db.Model):

id = db.Column(db.Integer, primary_key = True)
charactername = db.Column(db.String(40), nullable = False)
movieseriesname=db.Column(db.String(40), nullable = False)
role=db.Column(db.String(40), nullable = False)
side=db.Column(db.String(40), nullable = False)
link = db.Column(db.String(180), nullable = False)
read = db.Column(db.String(180), nullable = True)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source