See getattr and/or self.__dict__<br><br>14 Ekim 2015 Çarşamba tarihinde, Jim Icenhower via Flask <<a href="mailto:flask@python.org">flask@python.org</a>> yazdı:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:verdana,helvetica,sans-serif;font-size:16px"><div><span>Hi All,</span></div><div><span>I'm sure this is a newbie question but I haven't been able to find the answer by searching. Probably because I don't know what this technique is called in Python. </span></div><div dir="ltr"><span>I have created a class which extends the Flask-Appbuilder Model class which extends a SQLAlchemy class. I'm trying to validate that all required fields are populated. I have created this function that returns all the mapped attributes of the class:</span></div><div dir="ltr"><span><br></span></div><pre style="font-size:9pt"><span style="color:#000080;font-weight:bold">def </span>get_obj_mapped_columns(dbObj):<br>    mapper = inspect(dbObj)<br>    <span style="color:#000080;font-weight:bold">return </span>mapper.mapper.columns<br></pre><pre style="font-size:9pt"><span style="color:rgb(0,0,128);font-weight:bold;font-size:9pt">This is my main class:</span><br></pre><pre style="font-size:9pt"><pre style="font-size:9pt"><span style="color:#000080;font-weight:bold"><pre style="color:rgb(0,0,0);font-size:9pt"><span style="color:rgb(0,0,128)">class </span>Event(Model):<br>    EventID = Column(Integer, <span style="color:#660099">primary_key</span>=<span style="color:#000080">True</span>)<br>    EventKey = Column(String(<span style="color:#0000ff">30</span>), <span style="color:#660099">unique</span>=<span style="color:#000080">True</span>, <span style="color:#660099">nullable</span>=<span style="color:#000080">False</span>)<br>    Name = Column(String(<span style="color:#0000ff">100</span>), <span style="color:#660099">nullable</span>=<span style="color:#000080">False</span>)<br>    Description = Column(Text(<span style="color:#0000ff">1000</span>), <span style="color:#660099">nullable</span>=<span style="color:#000080">False</span>)<br>    BeginDate = Column(Date)<br>    EndDate = Column(Date)<br>    RegBeginDate = Column(Date)<br>    RegEndDate = Column(Date)<br>    Location = Column(String(<span style="color:#0000ff">200</span>))<br>    Address1 = Column(String(<span style="color:#0000ff">200</span>))<br>    Address2 = Column(String(<span style="color:#0000ff">200</span>))<br>    City = Column(String(<span style="color:#0000ff">20</span>))<br>    State = Column(String(<span style="color:#0000ff">2</span>))<br>    Zip = Column(String(<span style="color:#0000ff">10</span>))<br>    URL = Column(String(<span style="color:#0000ff">100</span>))<br>    Email = Column(String(<span style="color:#0000ff">100</span>))<br>    Phone = Column(String(<span style="color:#0000ff">20</span>))</pre></span></pre><pre style="font-size:9pt"><span style="color:#000080;font-weight:bold">Which contains the following method:</span></pre><pre style="font-size:9pt"><span style="color:#000080;font-weight:bold">    def </span>isValid(<span style="color:#94558d">self</span>):<br>        columns = get_obj_mapped_columns(<span style="color:#94558d">self</span>)<br>        <span style="color:#000080;font-weight:bold">for </span>column <span style="color:#000080;font-weight:bold">in </span>columns:<br>            <span style="color:#000080;font-weight:bold">if </span>(NOT column.nullable):<br>                <span style="color:#000080;font-weight:bold">print </span><a href="http://column.name" target="_blank">column.name</a><br>                <span style="color:#000080;font-weight:bold">print </span><span style="color:#94558d">self</span>.<b><<a href="http://column.name" target="_blank">column.name</a>></b><br></pre></pre><div dir="ltr"><span><br></span></div><div dir="ltr"><span>I would like to substitute the value in <<a href="http://column.name" target="_blank">column.name</a>> in such a way that it is evaluated as the field name of the Event object.</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Any guidance would be greatly appreciated!</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Thanks,</span></div><div dir="ltr"><span>Jim</span></div><div></div><div> </div><div>Jim
</div></div></div></blockquote>