<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Detect Relationship in Feature Class or Table in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29084#M2244</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;ArcGIS Desktop 10.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a script that copies feature classes and tables from one workspace to another on a schedule.&amp;nbsp; It is a backup script.&amp;nbsp; My problem is that when I try to copy a feature class that has a relationship class with a table, the copy fails - because the table that is associated with the feature class by a relationship also tries to be copied and that table already exists.&amp;nbsp; I would like to have a way to detect if a feature class is in a relationship, and what other featureclasses or tables it shares that relationship with.&amp;nbsp; I tried the following on a feature class that I know has a relationship, but the result came back empty.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;gt;&amp;gt;&amp;gt; desc = arcpy.Describe(r'Database Connections\BWQP_NDEP24.sde\BWQP.AssessedStreams2010')
&amp;gt;&amp;gt;&amp;gt; desc
&amp;lt;geoprocessing describe data object object at 0x1E829440&amp;gt;
&amp;gt;&amp;gt;&amp;gt; print "%-22s %s" % ("RelationshipClassNames:", desc.relationshipClassNames)
RelationshipClassNames: []&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm able to list the relationship classes, but I can't describe them enough to see the feature classes and tables associated with them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;gt;&amp;gt;&amp;gt; rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]
&amp;gt;&amp;gt;&amp;gt; rc_list
[u'BWQP.Lakes_to_TMDL', u'BWQP.Lakes_to_Waterbody', u'BWQP.Rivers_to_TMDL', u'BWQP.Rivers_to_Waterbody', u'BWQP.AssessedLakes_to_IR10', u'BWQP.AssessedStreams_to_IR10']&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also read that there is a bug NIM048192 with python in that it does not have access to the key relationship class properties.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Help!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Aug 2012 17:23:31 GMT</pubDate>
    <dc:creator>StephanieSnider</dc:creator>
    <dc:date>2012-08-09T17:23:31Z</dc:date>
    <item>
      <title>Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29084#M2244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;ArcGIS Desktop 10.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a script that copies feature classes and tables from one workspace to another on a schedule.&amp;nbsp; It is a backup script.&amp;nbsp; My problem is that when I try to copy a feature class that has a relationship class with a table, the copy fails - because the table that is associated with the feature class by a relationship also tries to be copied and that table already exists.&amp;nbsp; I would like to have a way to detect if a feature class is in a relationship, and what other featureclasses or tables it shares that relationship with.&amp;nbsp; I tried the following on a feature class that I know has a relationship, but the result came back empty.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;gt;&amp;gt;&amp;gt; desc = arcpy.Describe(r'Database Connections\BWQP_NDEP24.sde\BWQP.AssessedStreams2010')
&amp;gt;&amp;gt;&amp;gt; desc
&amp;lt;geoprocessing describe data object object at 0x1E829440&amp;gt;
&amp;gt;&amp;gt;&amp;gt; print "%-22s %s" % ("RelationshipClassNames:", desc.relationshipClassNames)
RelationshipClassNames: []&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm able to list the relationship classes, but I can't describe them enough to see the feature classes and tables associated with them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;gt;&amp;gt;&amp;gt; rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]
&amp;gt;&amp;gt;&amp;gt; rc_list
[u'BWQP.Lakes_to_TMDL', u'BWQP.Lakes_to_Waterbody', u'BWQP.Rivers_to_TMDL', u'BWQP.Rivers_to_Waterbody', u'BWQP.AssessedLakes_to_IR10', u'BWQP.AssessedStreams_to_IR10']&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also read that there is a bug NIM048192 with python in that it does not have access to the key relationship class properties.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Help!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2012 17:23:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29084#M2244</guid>
      <dc:creator>StephanieSnider</dc:creator>
      <dc:date>2012-08-09T17:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29085#M2245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Answer from ESRI tech support (Stephanie W.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy
from arcpy import env
workspace = env.workspace = r'your_workspace'
def detectRelationship():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for rc in rc_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc_path = workspace + "\\" + rc
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; des_rc = arcpy.Describe(rc_path)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; origin = des_rc.originClassNames
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination = des_rc.destinationClassNames
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Relationship Class: %s \n Origin: %s \n Desintation: %s" %(rc, origin, destination)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
detectRelationship()
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Result is like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
Relationship Class: NDEP.WaterDiv_to_Owners_NDWR2012 
 Origin: [u'NDEP.WaterDiversions_NDWR2012'] 
 Desintation: [u'NDEP.WaterDiv_Owners_NDWR2012']
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yeah!!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:10:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29085#M2245</guid>
      <dc:creator>StephanieSnider</dc:creator>
      <dc:date>2021-12-10T21:10:24Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29086#M2246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Stephanie,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Were you able to get anywhere with your backup script? I'm having the same problem right now - nothing seems to be working. I'm curious how you used the code snippet from Esri to avoid the duplicates.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Feb 2013 17:36:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29086#M2246</guid>
      <dc:creator>RobertMartin2</dc:creator>
      <dc:date>2013-02-14T17:36:04Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29087#M2247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Robert,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The above code only detects the FIRST relationship class on a feature class.&amp;nbsp; For example, if a feature class has two relationship classes on two different tables, the code only reports the first relationship and the associated table.&amp;nbsp; Totally ignores the second relationship and table.&amp;nbsp; Ahhh!!!&amp;nbsp;&amp;nbsp; Because of this flaw, I wasn�??t able to use the relationship detector code in my backup script.&amp;nbsp; I discovered that instead of using the Copy function (which brings over related objects), I could use feature class to feature class conversion and table to table conservation which only copies the feature class or table and not the related objects.&amp;nbsp; The overwrite function works with the two conversion functions but not the copy function (NIM046461).&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's a copy of a my script.&amp;nbsp; [ATTACH=CONFIG]21818[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It doesn't work with feature datasets yet.&amp;nbsp; Two of my SDE accounts throw errors when I try to copy feature datasets and I haven't figure out why yet - saving for later when I have time to bang my head against the wall.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good Luck!!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Feb 2013 20:58:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29087#M2247</guid>
      <dc:creator>StephanieSnider</dc:creator>
      <dc:date>2013-02-14T20:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29088#M2248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So ignore my previous post saying the script doesn't find all the relationships on the feature class.&amp;nbsp; This function finds the relationship classes and then tells you the feature classes associated with it.&amp;nbsp; A relationship class can only have two related objects.&amp;nbsp; I think I was trying to get it to work the opposite way.&amp;nbsp; Not sure why I didn't see this before, but I wanted to make sure I corrected my mistake on the forum.&amp;nbsp; The detectRelationship code works but returns the information by print.&amp;nbsp; I'll need to work on the code to get it to combine and return lists (relationship class, origin, destination) that can be called later and used in other functions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Stephanie&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Feb 2013 16:52:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29088#M2248</guid>
      <dc:creator>StephanieSnider</dc:creator>
      <dc:date>2013-02-22T16:52:11Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29089#M2249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried the suggested code above but am getting the following error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Traceback (most recent call last):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "C:/Users/00223562/Desktop/test.py", line 17, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; detectRelationship()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "C:/Users/00223562/Desktop/test.py", line 10, in detectRelationship&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc_list = [c.name for c in gp.Describe(workspace).children if c.datatype == "RelationshipClass"]&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;TypeError: 'geoprocessing list object' object is not iterable&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My environment consists of ArcGIS Desktop 9.3.1 SP2 and Python 2.5.&amp;nbsp; Thanks very much in advance for any help!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Sep 2013 00:11:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29089#M2249</guid>
      <dc:creator>WilliamCraft</dc:creator>
      <dc:date>2013-09-13T00:11:36Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29090#M2250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This should do what you need.&amp;nbsp; It will avoid copying an object which was previously copied because it takes part in a relationship class with another object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcgisscripting

gp = arcgisscripting.create(9.3)


SDE_WORKSPACE = "Database Connections\\sde931.sde"
FGDB_WORKSPACE = "c:/931t.gdb"


#CHECK IF EXISTS
def objExists(o):
 gp.workspace = FGDB_WORKSPACE
 if gp.Exists(o):
&amp;nbsp; print "&amp;nbsp; " + o + " exists"
&amp;nbsp; return True
 else:
&amp;nbsp; #print "&amp;nbsp; " + o + " does not exist"
&amp;nbsp; return False


# START COPY FEATURE CLASSES
gp.workspace = SDE_WORKSPACE
fcList = gp.ListFeatureClasses()
for sde_fc in fcList:
&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "Start copy " + sde_fc
&amp;nbsp;&amp;nbsp;&amp;nbsp; if not objExists(sde_fc.split(".")[1]):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.workspace = SDE_WORKSPACE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Copy_management(sde_fc, "C:\\931t.gdb\\" + sde_fc.split(".")[1])
&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "End copy " + sde_fc


# START COPY TABLES
gp.workspace = SDE_WORKSPACE
tList = gp.ListTables()
for sde_t in tList:
&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "Start copy " + sde_t
&amp;nbsp;&amp;nbsp;&amp;nbsp; if not objExists(sde_t.split(".")[1]):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.workspace = SDE_WORKSPACE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Copy_management(sde_t, "C:\\931t.gdb\\" + sde_t.split(".")[1])
&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "End copy " + sde_t
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:10:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29090#M2250</guid>
      <dc:creator>JamesM1</dc:creator>
      <dc:date>2021-12-10T21:10:26Z</dc:date>
    </item>
    <item>
      <title>Get Relationship Classes from Table (Not Workspace)</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29091#M2251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Any ideas on how to do this?&amp;nbsp; Originally, I thought I could use the relationshipClassNames from the GDB Table properties, but I only get empty value back (i.e. []).&amp;nbsp; Anybody know why this does not work or what I'm doing incorrectly?&amp;nbsp; Not much to this and the example is pulled straight from ESRI help documents.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;desc = arcpy.Describe("myTable")
print desc.relationshipClassNames&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found this &lt;/SPAN&gt;&lt;A href="http://forums.arcgis.com/threads/64318-Detect-Relationship-in-Feature-Class-or-Table?highlight=relationshipClassNames" rel="nofollow noopener noreferrer" target="_blank"&gt;thread&lt;/A&gt;&lt;SPAN&gt; with this code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy
from arcpy import env
workspace = env.workspace = r'your_workspace'
def detectRelationship():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for rc in rc_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc_path = workspace + "\\" + rc
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; des_rc = arcpy.Describe(rc_path)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; origin = des_rc.originClassNames
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination = des_rc.destinationClassNames
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Relationship Class: %s \n Origin: %s \n Desintation: %s" %(rc, origin, destination)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
detectRelationship()&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;, but I don't need to search the entire DB for all relationships.&amp;nbsp; Only a specific table.&amp;nbsp; I could use this code to ID the table and relationships I want, but would prefer to use the relationshipClassNames from GDB Table to reduce the amount of code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be much appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Oops, thought I hit new thread.&amp;nbsp; Going to leave this here just in case.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:10:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29091#M2251</guid>
      <dc:creator>brettangel</dc:creator>
      <dc:date>2021-12-10T21:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: Detect Relationship in Feature Class or Table</title>
      <link>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29092#M2252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's some code I've been using. It might help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;GetWorkspace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputFeatureClass&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;"""
    Returns the workspace which contains the input feature class
    """&lt;/SPAN&gt;
    path &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputFeatureClass&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dataType &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Workspace"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Folder"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; path
    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path

    &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; workspace


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;hasRelatedTables&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;"""
    Returns true if the input table participates in a relationship class
    """&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;relationshipClassNames &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;GetRelatedTableInfo&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;"""
    Returns a dictionary of relationship class info
    """&lt;/SPAN&gt;
    relTableInfo &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
    workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; GetWorkspace&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; hasRelatedTables&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        relClasses &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;relationshipClassNames
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; rc &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relClasses&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
            relClassProps &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; rc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;originClassNames&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; inputTable&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                isTopLevel &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                isTopLevel &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;
            relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;relClasses&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"IsTopLevel"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; isTopLevel&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"RelClassName"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; rc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"ParentTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;originClassNames&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"ChildTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;destinationClassNames&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"PrimaryKey"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;k&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; k &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;originClassKeys &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; k&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"OriginPrimary"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"ForeignKey"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;k&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; k &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;originClassKeys &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; k&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"OriginForeign"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"IsAttachment"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;isAttachmentRelationship&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                                  &lt;SPAN class="string token"&gt;"Cardinality"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; relClassProps&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cardinality&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; relTableInfo

    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ListRelatedTables&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; excludeAttachments &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;"""
    """&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;not&lt;/SPAN&gt; hasRelatedTables&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; None
    
    relatedTables &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
    relTableInfo &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; GetRelatedTableInfo&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; excludeAttachments&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relTableInfo&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;not&lt;/SPAN&gt; relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"IsAttachment"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                relatedTables&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;append&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ParentTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
                relatedTables&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;append&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ChildTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relTableInfo&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
            relatedTables&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;append&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ParentTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            relatedTables&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;append&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;relTableInfo&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ChildTable"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

    relatedTables &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; list&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;set&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;relatedTables&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; inputTable &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; relatedTables&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        relatedTables&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;remove&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inputTable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

    &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; relatedTables
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;For list related tables function I only wanted non-attachment relationships.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Micah&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:10:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/detect-relationship-in-feature-class-or-table/m-p/29092#M2252</guid>
      <dc:creator>MicahBabinski</dc:creator>
      <dc:date>2021-12-10T21:10:32Z</dc:date>
    </item>
  </channel>
</rss>

